一、基本介绍MobileIMSDK-鸿蒙端是一套基于鸿蒙Next纯血鸿蒙系统的IM即时通讯客户端库1超轻量级编译后库文件仅50KB、无任何第3方库依赖开箱即用2纯ArkTS编写、无Native代码、高度提炼、简单易用3基于鸿蒙Next标准WebSocket API简洁优雅4可运行于任何支持鸿蒙Next的平台5能与 MobileIMSDK的各种客户端完美互通6可应用于鸿蒙Next中的消息推送、客服聊天、企业OA、IM等场景。二、与MobileIMSDK的关系MobileIMSDK-鸿蒙端是基于鸿蒙Next标准WebSocketAPI的 MobileIMSDK配套客户端库。以下是MobileIMSDK的最新通信架构图MobileIMSDK是一套专为移动端开发的原创开源IM通信层框架1历经10年、久经考验2超轻量级、高度提炼lib包50KB以内3精心封装一套API同时支持UDP、TCP、WebSocket三种协议可能是全网唯一开源的4客户端支持iOS、Android、标准Java、H5(暂未开源)、微信小程序(暂未开源)、Uniapp(暂未开源)、鸿蒙Next(Demo工程源码)new5服务端基于Netty性能卓越、易于扩展6可与姊妹工程 MobileIMSDK-Web 无缝互通实现网页端聊天或推送等7可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。PSMobileIMSDK一直在持续开发和升级中本鸿蒙客户端是MobileIMSDK工程的最新成果。三、设计目标直接使用鸿蒙Next的WebSocket API开撸有以下问题和劣势1功能有限没有心跳保活、断线重连、消息送达保证重传和去重等即时通讯关键算法和逻辑2API 简陋在如此有限的API接口下能逻辑清晰且健壮地实现并组合心跳保活、断线重连、消息送达保证等算法需要相当高的技术掌控力3逻辑耦合经验欠缺的开发人员会将WebSocket通信逻辑与前端ArkUI界面代码混在一起使得UI界面的编写、维护、改版都非常困难。针对以上问题而MobileIMSDK-鸿蒙端库将让开发者专注于UI应用层的开发网络通信层的专业代码交由SDK开发人员从而解偶UI前端和通信层的逻辑耦合性大大降低技术复杂度和应用门槛。MobileIMSDK-鸿蒙端库的设计目标是为您的开发带来以下便利1界面与通信解偶UI界面与网络通信层代码解耦UI界面的重构、维护、改版都非常容易和优雅2轻量级和兼容性受益于坚持使用鸿蒙Next的标准WebSocket API简洁轻量无需任何额外库依赖3核心内聚和收敛得益于长期的提炼和经验积累SDK核心层高度封装开发者无需理解复杂算法即可简单上手。4纯 ArkTS 实现纯ArkTS编写无重量级框架和库依赖更无Native代码可干净利落地对接各种既有系统5跨平台运行能力受益于鸿蒙系统的跨端特性理论上本SDK可运行于任何支持鸿蒙Next的平台上。四、技术亮点1超级轻量纯净超轻量级——纯ArkTS编写且无任何第3方库依赖编译后库文件仅50KB2高内聚易使用高度提炼——简单易用所有核心类皆设计为单例——到手即用、高度容错3跨端支持好基于鸿蒙Next的标准WebSocket API无Native代码依赖理论上可很好地运行于任何支持最新鸿蒙的平台上4断网恢复能力拥有网络状况自动检测、断网自动治愈的能力5送达保证机制完善的QoS消息送达保证机制自动重传、消息去重、状态反馈等不漏过每一条消息6通信协议封装实现了一个对上层透明的即时通讯通信协议模型7身份认证机制实现了简单合理的身份认证机制8完善的log信息在开发调试阶段确保每一个算法关键步骤都有日志输出让您的运行调试更为便利9界面代码解耦实现了UI界面代码与SDK网络通信代码解偶防止界面代码跟IM核心代码混在一起不利于持续升级、重用和维护10多端协议兼容实现了与MobileIMSDK各种客户端完全兼容的协议模型。五、文件组成完整工程文件概览SDK代码文件用途说明精编注释级的源码六、Demo功能说明点击可看大图 ▲七、实际运行效果1Demo 的登陆界面运行截图点击可看大图 ▼2Demo 的主界面运行截图点击可看大图 ▼3Demo 运行的同时可以查看详细的 log 输出方便调试八、详尽开发者手册① 开发者手册网页版点此进入 ◀② 开发者手册PDF精编版点此进入 ◀* 推荐九、相关资料[1] 鸿蒙Next官方开发资料[2] MobileIMSDK开源框架的API文档[3] MobileIMSDK开源IM框架源码Github地址点此[4] MobileIMSDK-鸿蒙Next端发布公告[5] MobileIMSDK-鸿蒙Next端开发手册* 推荐