侯少輝:Linux Deepin深談的開發趣事
Deepin Talk(中文名深談),Linux Deepin團隊正在開發的一款即時通訊軟件,最早正式對外公布其消息時間為2012年Linux Deepin開發者與用戶大會。此消息一放出立馬激起了無數Linux愛好者的極大興趣,Linux下從來不缺聊天軟件,為何Linux Deepin團隊依然宣布開發自己的聊天軟件?深談開發***進度如何?深談***個版本有什么功能?
帶著這一系列的疑問,我們邀請到深談軟件作者——侯少輝,來了解深談是如何煉成的。
【作者簡介】侯少輝(昵稱:猴哥),深之度開發部桌面應用開發組負責人。早期從事網絡和運維相關工作,后轉職做開發,Python推廣者,擅長GUI編程和Web后端開發,深度音樂代碼編寫者,深談代碼編寫者。
Q:猴哥你好!首先請你談談Deepin團隊開展深談這個項目的緣由。
猴哥:主要原因就是Linux沒有好用的溝通工具,我們需要一個能夠視頻、語言、發送圖片、發送文件的溝通工具,而且還支持跨平臺使用。
Q:關于深談,這個名字有什么特別的含義嗎?
猴哥:Deepin團隊內部討論后,一致決定英文名叫DeepinTalk。其正式的中文名還沒有確定,目前我們內部都叫它深談,可能因為這個名字比較簡潔吧,如果有比深談更好的就會用其他的名字。
Q:在開發深談的過程中,你們遇到的***的難題是什么?
猴哥:從開發和設計角度來看,溝通工具比音樂軟件難度高很多,設計也在開發過程中不斷的修正,要求設計上一定要有創意,這一點很難。內部也經常開會討論,在開發上也遇到不少問題,圖形庫沒有使用DeepinUI,采用了QtQML,前期對它的評估不夠,開發過程中發現有內存泄露和界面閃爍兩個嚴重的問題。
Q:深談與其他即時通訊軟件有什么不同的地方?
猴哥:深談除了擁有一般的即時通訊工具的一般功能以外,更重要的是基于Linux Deepin系統的用戶中心,作為一個樞紐型應用存在。用戶可以通過深談,向外界分享一切Linux Deepin應用、系統和娛樂信息。
- 跨平臺
- 第三方帳號
- 更多娛樂功能
- 更in的視覺感受和交互體驗
目前在聊天工具創新難度很大,不過可以聊天窗口上做一些擴展,如支持代碼高亮,Markdown語法。
Q:給大家簡單的介紹一下深談目前的開發進度吧。
猴哥:深談目前已經完成聊天的基本功能,近期正在全力開發服務器端和帳戶中心。
Q:深談預期實現的功能有哪些?
猴哥:深談1.0的預期功能主要有以下幾個方面:
- 單人聊天/群/討論組的實現
- 好友管理
- 文件傳輸
- 圖片發送
- 好友推薦
- 遇見
- 多處登錄
Q:深談會支持多少通信協議?
猴哥:深談采用XMPP協議,基于XMPP協議可擴展性,我們做一些擴展即可,我覺得你是想問深談是否支持其它聊天帳號登錄?深談不是聊天協議客戶端(如pidgin),為了***的聊天體驗深談不支持其它帳號登錄。
Q:深談是否支持跨平臺?有移動端的計劃嗎?
猴哥:跨平臺是必需的,移動端將在桌面版之后發布,桌面版支持Linux、Mac和Windows。
Q:深談開發過程中使用了哪些技術?能否透露一下其技術細節?
猴哥:深談整個項目分成兩個部分,服務器端和客戶端程序,我主要負責客戶端程序的開發,目前使用Python語言開發,圖形界面庫采用Qt5.2的Quick技術,它有完善的動畫系統和粒子系統,做出來的界面很炫酷,采用MVC框架開發,并由信號機制做輔助,自己編寫了ORM到QtModel的動態綁定,xmpp負責向數據庫里寫入數據,控制層將數據轉換成Qtmodel傳遞給QML。
Q:未來深談會開放接口嗎?會以什么樣的形式開放給其他開發者?
猴哥:當然開放,上面已經提到過聊天工具條已經做成插件形式,比如支持語法高亮、Markdown等,隨著用戶人數的增加我們將使用OAUTH開發用戶資源。
Q:在開發深談的過程中有沒有發生一些比較好玩的事情?
猴哥:在開發的前期,我使用Gtalk帳號做登陸測試,需要不停的下線上線,Pidgin的用戶狀態提醒都把我的好友都弄瘋了。
還有一次使用深談做信息測試,我把深談設置為收到新的好友或者群信息,就馬上給對方返回一條相同的信息,因為我一直在編寫代碼,沒有注意到群信息,后面發現Gtalk群被我“機器人”的行為騷擾了一天,群里的人都郁悶了。
Q:本次的專訪到這里就告一段落了,猴哥你還有什么想和大家說的嗎?
猴哥:我給大家拜個晚年,祝大家新年快樂!身體健康!馬上有一切!
另外我透露一下,深談預計將在2014年5月份發布測試版,大家期待一下吧!
經過以上精彩的問答,相信大家加深了對深談的了解,在不久的將來,LinuxDeepin團隊一定能夠如期的給廣大Linux愛好者奉上深談,以LinuxDeepin團隊一貫的高水準作風!深談——你值得期待!