用 APICloud 开发仿微信聊天 App 制作经验分享
作者:川哥哥
之前我一直用融云的接口做即时通信,自己也摸索了一段时间觉得融云做的挺好的。可是接口是收费的还有点小贵,就放弃融云了决心自己搭建一个后台。
在网上查资料,去学校图书馆借书发现居然还有《30 天,App 开发从 0 到 1》这本书,官方有点牛批额。最终发现 Workerman 这个框架可以做即时通信,而且还容易上手。装好了后发现 Workerman 基础框架只能做服务推送,不能实现客户端之间相互通信。
然后继续找资料发现 GatewayWorker 可以实现通信,接口都封装好了文档也详细。自己把 GatewayWorker 环境弄好了后做了几个简单测试,发现客户端之间确实可以相互通信,还可以群聊。然后就开始设计数据库以及完善各种业务逻辑(业务逻辑代码只能写在 Events.php 里面)。
服务器也是买的最便宜的 1G 的内存 1M 的带宽凑合着用(百度云服务器 46 元买的),服务端还没做压力测试不知道在线用户多了会不会蹦!手机端经过多次测试发现原生 HTML5 WebSocket 以及平台的其他网络通信模块通信体验很差,最终选用 webSocket v1.1.2 模块和服务器进行通信很稳定。
目前 app 主要的功能:单聊、群聊、好友、二维码识别、消息数据本地存储、消息请求验证、意见反馈、消息收藏、微信登陆、截图。
消息类型:语音、文字、表情、图片、位置。
平台用到的模块:webSocket、aMap、NVTabBar、db、fs、UIChatBox、FNScanner、wxPlus、trans、imageFilter、trans。
App 开发制作零零散散花了半年的时间,总体来讲前端功能模块设计要难些,很多功能比较麻烦。后端比较简单最主要就是要把数据库表设计好,App 图标和名字都是临时想的。
现在官方推出了 AVM,等空了把 App 转成 AVM 多端版,目前还有部分功能未完善,肯定还有很多 bug,大家可以下载然后用微信登陆进行测试,欢迎大家批评指正。
主要功能界面截图:
转自:https://community.apicloud.com/bbs/thread-172273-1-1.html
评论