用APICloud开发仿微信聊天App制作经验分享

250 阅读2分钟

作者:川哥哥

之前我一直用融云的接口做即时通信,自己也摸索了一段时间觉得融云做的挺好的。可是接口是收费的还有点小贵图片,就放弃融云了决心自己搭建一个后台。

在网上查资料,去学校图书馆借书发现居然还有《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,大家可以下载然后用微信登陆进行测试,欢迎大家批评指正图片

主要功能界面截图:

转自:community.apicloud.com/bbs/thread-…