1、基本介绍
**RainbowTalk 是一套基于 MobileIMSDK 开源通信框架的产品级纯血鸿蒙NEXT端IM系统。**RainbowTalk与姊妹产品 RainbowChat技术同源 ,不同于市面上某些开源或售卖的demo级代码,RainbowChat已被成千上万真实的客户使用过,解决了大量的产品逻辑、代码逻辑、细节优化等问题。
RainbowTalk 由纯ArkTS编写、全新开发,没有套壳、也没走捷径,原生“纯血”(详见:《RainbowTalk详细介绍》)。
RainbowTalk 是 RainbowChat 和 RainbowChat-Web 的姊妹产品。
2、关于MobileIMSDK开源框架
MobileIMSDK 是一套全平台开源IM即时通讯聊天框架,超轻量级、高度提炼,一套API优雅支持UDP 、TCP 、WebSocket 三种协议,客户端支持iOS、Android、H5、小程序、Uniapp、标准Java、纯血鸿蒙等,服务端基于Netty编写,性能卓越、易于扩展。
工程同步开源地址:
- ❶ GitHub:github.com/JackJiang20…
- ❷ 码云gitee: gitee.com/jackjiang/M…
- ❸ Gitcode:gitcode.com/hellojackji…
3、功能情况
1) 支持文本消息、语音留言消息、图片消息、大文件消息(支持断点上传)、短视频消息、个人名片、群名片、Emoji表情、消息撤回、消息转发、消息引用、“@”功能、“扫一扫”功能等;
**
2) 支持一对一陌生人聊天模式;
3) 支持一对一正式好友聊天模式;
4) 支持多对多群聊聊天模式;
5) 完善的群组信息管理:建群、退群、解散、转让、邀请、踢人、群公告等;
6) 完整的注册、登陆(同时支持手机验证码登录和密码登录)、密码找回等功能闭环;
7) 个人中心功能:改基本信息、改个性签名、改头像、改密码等;
8) 支持个人相册查看;
9) 完整的离线消息/指令拉取机制;
10) 完整的本地消息/指令缓存机制,节省网络流量;
11) 完整的富媒体文件(语音、大文件、图片、短视频)缓存机制,节省网络流量;
12) 完整的好友关系管理:查找好友、发出请求、处理请求、删除好友、好友备注等;
**
4、技术亮点
1) 与姊妹产品RainbowChat 技术同源(算法和功能逻辑历经时间考验和大量客户面辐射,可靠性一定优于短时间内堆砌功能的产品);
**
2) 从通信底层到上层功能,完全自主开发——版权清晰、技术资产可控;
3) 超轻量级——纯ArkTS编写且无任何重依赖;
4) 通讯核心层基于MobileIMSDK 工程,保证了业务代码与通信核心的高度分层(经验不足的IM产品是做不到这一点的);
5) 支持完整的消息送达保证(QoS)机制,保证送达率,理论丢包率约为0.0001%;
6) 基于 MobileIMSDK 工程的自有协议,未来的流量压缩对于APP端的节电控制和流量控制、服务端的网络吞吐等都有完全的控制能力;
7) 完善的网络状况自动检测、断网重连等服务自动治愈能力;
8) 核心通信算法和实现均为自主原创(历经10年,并非开源拼凑),保证了技术的持续改进、升级、扩展;
9) 聊天协议兼容和互通:实现了与姊妹产品RainbowChat、RainbowChat-Web的完全兼容和消息互通;
**
5、技术原则
为了更易学习、研究、2次开发,RainbowTalk始终遵从:
1) 界面与通信解偶:UI界面与网络通信层和数据处理层代码解耦,UI界面的重构、维护、改版都非常容易和优雅;
3) 核心内聚和收敛:得益于长期的提炼和经验积累,网络通信核心层高度封装,开发者无需理解复杂网络算法。
4) 纯 ArkTS 实现:纯ArkTS编写,无重量级框架和库依赖(更无Native代码),可干净利落地对接各种既有系统;
5) 跨平台运行能力:受益于鸿蒙系统的跨端特性,理论上本应用的客户端可运行于任何支持鸿蒙Next的平台上;
6) 架构设计简洁:简单直接,易于学习,能少一个分层则绝不强行炫技;
7) 简单地就是最好的:始终贯彻简单直接的互联网产品技术理念。
6、主要功能运行截图
(本文内容引用自:www.52im.net/thread-4822…)