DeepinTalk(中文名DeepinTalk),一款由LinuxDeepin团队开发的即时通讯软件,在2012年LinuxDeepin开发者用户大会上首次正式发布.此消息一出,立刻引起了无数Linux爱好者的极大兴趣。Linux下不乏聊天软件。为什么LinuxDeepin团队还宣布开发自己的聊天软件?开发进度如何?第一版的功能是什么?带着这一系列的问题,我们请到了DeepTalk软件的作者侯少辉,来了解一下DeepTalk是如何开发的。【作者简介】侯少辉(昵称:猴哥),深度开发部桌面应用开发组负责人。早期从事网络和运维相关工作,后转做开发工作,Python推手,擅长GUI编程和Web后端开发,深音乐码农,深谈码农。问:猴哥您好!首先请您谈谈深度团队发起这个项目的原因。猴哥:主要是Linux没有一个好用的通讯工具。我们需要一个可以发送视频、语言、图片、文件的通讯工具,而且还支持跨平台使用。Q:关于DeepTalk,这个名字有什么特别的含义吗?猴哥:经过Deepin团队内部讨论,一致决定英文名称为DeepinTalk。其官方中文名称尚未确定。目前我们内部称之为神坛,可能是因为名字比较简洁吧。如果有比神坛更好的名字,我们就用另一个名字。Q:在开发和深入探讨过程中遇到的最大问题是什么?侯哥:从开发设计的角度来说,通讯工具比音乐软件难多了,在开发过程中不断修改设计。它需要设计上的创造力,这是非常困难的。经常开内部会议讨论,开发中遇到了很多问题。图库没有使用DeepinUI,而是使用了QtQML。前期对它的评价还不够。在开发过程中,发现内存泄漏和界面闪烁两个比较严重的问题。Q:DeepTalk和其他即时通讯软件有什么区别?侯哥:除了一般即时通讯工具的一般功能外,更重要的是基于LinuxDeepin系统的用户中心,它作为一个hub应用存在。用户可以通过深度聊天向外界分享所有LinuxDeepin应用、系统和娱乐信息。跨平台、第三方账号,更多娱乐功能,更多视觉体验和交互体验。目前聊天工具创新难度很大,但可以在聊天窗口上做一些扩展,比如支持代码高亮、支持Markdown语法等。问:我先简单介绍一下目前的开发进展。猴哥:DeepTalk已经完成了聊天的基本功能,最近正在努力开发服务器和账号中心。Q:预计深度实现的功能有哪些?侯哥:DeepTalk1.0的预期功能主要有以下几个方面:单人聊天/群组/讨论组的实现好友管理文件传输图片发送好友推荐会议多重登录问:DeepTalk支持多少种通信协议?侯哥:神坛采用的是XMPP协议。基于XMPP协议的可扩展性,我们可以做一些扩展。我想你是想问神坛是否支持其他聊天账号登录?DeepTalk不是聊天协议客户端(如pidgin),DeepTalk不支持其他账号登录以获得最佳聊天体验。Q:DeepTalk支持跨平台吗?有移动端的计划吗?猴哥:需要跨平台,移动端会在桌面版之后发布,桌面版支持Linux、Mac和Windows。Q:开发过程中使用了哪些技术?你能透露一下它的技术细节吗?猴哥:DeepTalk整个项目分为服务端和客户端程序两部分。我主要负责客户端程序的开发。目前,我使用Python语言进行开发。图形界面库采用Qt5.2的Quick技术,具有完整的动画系统。还有粒子系统,做的界面很酷,使用MVC框架开发,辅助信号机制,我写了ORM到QtModel的动态绑定,xmpp负责写数据到数据库,控制层转换Qtmodel中的数据传递给QML。Q:DeepTalk以后会有开放接口吗?将以何种形式开放给其他开发者?猴哥:当然是开放的。如前所述,聊天工具栏已经做成插件形式,比如支持语法高亮、Markdown等,随着用户量的增加,我们将使用OAUTH来开发用户资源。Q:在DeepTalk的开发过程中有没有发生什么有趣的事情?猴哥:开发初期,我是用Gtalk账号做登录测试,一直要退出才能上线。Pidgin的用户状态提醒让我的朋友们抓狂。还有一次我用DeepTalk做信息测试。我把DeepTalk设置为接收新朋友或群消息,并立即将相同的消息返回给对方。因为一直在写代码,所以没有注意到组信息。后来找到了Gtalk群。被我的“机器人”行为骚扰了一天,群里的人都郁闷了。Q:本次采访到此结束。侯哥,你还有什么想跟大家说的吗?猴哥:祝大家新年快乐,祝大家新年快乐!身体健康!全部一起!另外再透露一下,DeepTalk预计会在2014年5月发布测试版,敬请期待!经过上面精彩的问答,相信大家对deeptalks的理解都加深了。在不久的将来,LinuxDeepin团队将能够如期为Linux爱好者提供深度讲座,一如既往的LinuxDeepin团队的高层作风!深度谈——你值得期待!原文链接:http://planet.linuxdeepin.com/2014/02/17/deepin-talk/
