这个作业属于哪个课程 | 班级链接 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 分析 腾讯即时通信IM |
作业正文 | 正文在这里 |
其他参考文献 | 百度, 博客园, csdn, 《构建之法》 |
软件测评——腾讯即时通讯sdk官方demo
调研、评测
应用截图
- web端页面截图
- 安卓端截图
- 小程序端截图
bug反馈
-
网页端在输入框输入时,未发送就跳转到其它联系人,输入框的内容不会清空。
操作流程如下:- 点开任意联系人,在输入框输入任意字符。
- 不发送,直接点开另一位联系人。
- 发现输入框的内容没有清空。
-
网页端输入框提示
ctrl+enter
换行,但是发送后换行符变成了空格。
操作流程如下:- 在输入框中输入任意字符
- 按照提示,使用
ctrl+enter
换行,可以看到在输入框中实现了换行
我认为这个bug可能是网页端的开发人员在切换时忘记清空输入框。可能故意留下来给人反馈用的
采访
首先说明一点,市面上的社交软件,应该不会有什么活路了。熟人社交这一块被腾讯锁死了,而陌生人社交这一方面有陌陌等一众软件瓜分蛋糕。现在入场应该是不会有什么搞头。那么这一个SDK的受众应该是其他应用内嵌的即时通讯系统。比如购物软件的客服沟通平台,网站的在线客服(这样可以不依赖QQ,就能做到客户和客服的及时联系)。
在我短暂的浏览IM的开发文档的过程中,发现这个sdk上手及其容易,而且价格比较公道。那么SDK的使用就必然是内嵌聊天工具而不是独立开发一个聊天软件。
但如果铁了心要下场,那我会选择腾讯做的不是很好的陌生人社交这一方面。于是被我整出这么一个想法:
anonymous
Anoymous 是一款主打陌生人社交的软件,通过为自己贴上标签,来在众人之中找到那个和你意气相投的人。同时支持同城交友等功能
带着这个demo的零碎想法,我咨询了与我同龄的几位伙伴。不出意外,他们认为这个应用于陌陌非常的相似。
他们对我的建议分两个方面:
- 其一是建议不做这个应用。因为确实市面上社交这一块腾讯占据了大半江山,推广难度异常的大。再有,陌生人社交这一方面,用他们的话来说就是:"我连班上的同学都说不利索,还会找陌生人交心?"。
- 其二是建议我找陌陌,探探这类app没有触及的地方。但我们几个苦思冥想了10分钟也想不通,还有哪些方面没有被挖掘。
不出意外,这个app被他们打上了死路一条这种标记。
IM 官方demo
在近10分钟的使用过程中,小伙伴认为,这个demo的完成度是非常高的。在轻度使用上,方便程度不亚于QQ、微信一流(毕竟是腾讯自己开发的官方demo)。但在一些细节方面还不够完善。比如个人资料不够详尽,自定义方面不够优秀等。
虽然他们都不是计算机专业的学生,但从他们的评价可以看出,这个SDK还是非常值得推荐的,功能齐全。结合我自己的观察,我给这个SDK一个非常推荐的评价。
分析
观察不能得出此SDK的具体实现方法,但我们可以使用套接字来模拟
假设我的团队又6人,两人负责服务器套接字实现,一人负责需求分析,三人负责具体的各种功能的实现。我认为此sdk能在一年内完成初版(此一年中,仅有法定工作日时工作,没有加班)。具体时间如下:
- 需求提取分析:15个工作日左右
- 系统设计:15个工作日左右
- 分布式服务设计:20个工作日左右
- SDK接口开发实现:60个工作日左右
- 服务器代理配置及负载测试:10个工作日左右
- 测试修改bug及攥写使用文档:60个工作日左右
- demo编写及测试:40个工作日左右
共计220天
建议和规划
对比分析
查阅搜索引擎,可以得到这么一篇博客:第三方即时通信IM服务对比分析
畅想未来
1.时间规划
假如我是团队的领导,这个项目要在16周内发布。那么合理安排工作进程就是计划的重中之重。按照上述分析的过程,将其等比压缩至16周中。可以得到这么一个时间表:
- 需求提取分析:10个工作日左右
- 系统设计:5个工作日左右
- 分布式服务设计:5个工作日左右
- SDK接口开发实现:20个工作日左右
- 服务器代理配置及负载测试:5个工作日左右
- 测试修改bug及攥写使用文档:30个工作日左右
- demo编写及测试:5个工作日左右
将时间尽量分配给测试环节,保证项目基本运行的情况下,在需求分析上多花时间,找出同类产品没有触及到的地方。
2.项目部署
考虑用户的体量及公司的能力和规模,使用阿里云服务器作为公司的运行环境。具体配置升降需要更详细的市场调研。具体服务器分类如下:
- 负载均衡服务器转发
- 后端服务器集群
- 关系型数据库(读写分理、及时备份)
- 缓存:redis
- 安全性:DDoS、ARP等