Jack Jiang

          我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
          posts - 499, comments - 13, trackbacks - 0, articles - 1

          一、基本介紹

          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工程源碼)new;
          • 5)服務端基于Netty,性能卓越、易于擴展;
          • 6)可與姊妹工程 MobileIMSDK-Web 無縫互通實現網頁端聊天或推送等;
          • 7)可應用于跨設備、跨網絡的聊天APP、企業OA、消息推送等各種場景。

          PS:MobileIMSDK一直在持續開發和升級中,本鴻蒙客戶端是MobileIMSDK工程的最新成果。

          三、設計目標

          直接使用鴻蒙Next的WebSocket API開擼,有以下問題和劣勢:

          • 1)功能有限:沒有心跳保活、斷線重連、消息送達保證(重傳和去重)等即時通訊關鍵算法和邏輯;
          • 2)API 簡陋:在如此有限的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方庫依賴,編譯后庫文件僅50KB;
          • 2)高內聚易使用:高度提煉——簡單易用,所有核心類皆設計為單例——到手即用、高度容錯;
          • 3)跨端支持好:基于鴻蒙Next的標準WebSocket API(無Native代碼依賴),理論上可很好地運行于任何支持最新鴻蒙的平臺上;
          • 4)斷網恢復能力:擁有網絡狀況自動檢測、斷網自動治愈的能力;
          • 5)送達保證機制:完善的QoS消息送達保證機制(自動重傳、消息去重、狀態反饋等),不漏過每一條消息;
          • 6)通信協議封裝:實現了一個對上層透明的即時通訊通信協議模型;
          • 7)身份認證機制:實現了簡單合理的身份認證機制;
          • 8)完善的log信息:在開發調試階段,確保每一個算法關鍵步驟都有日志輸出,讓您的運行調試更為便利;
          • 9)界面代碼解耦:實現了UI界面代碼與SDK網絡通信代碼解偶,防止界面代碼跟IM核心代碼混在一起,不利于持續升級、重用和維護;
          • 10)多端協議兼容:實現了與MobileIMSDK各種客戶端完全兼容的協議模型。

          五、文件組成

          完整工程文件概覽:

           

          SDK代碼文件用途說明:

          精編注釋級的源碼:

          六、Demo功能說明

          點擊可看大圖 ▲

          七、實際運行效果

          1)Demo 的登陸界面運行截圖(點擊可看大圖 ▼

          2)Demo 的主界面運行截圖(點擊可看大圖 ▼):

          3)Demo 運行的同時,可以查看詳細的 log 輸出(方便調試

          八、詳盡開發者手冊

          ① 開發者手冊網頁版):點此進入 

          ② 開發者手冊PDF精編版):點此進入 * 推薦

          九、相關資料

          [1] 鴻蒙Next官方開發資料

          [2] MobileIMSDK開源框架的API文檔

          [3] MobileIMSDK開源IM框架源碼Github地址點此

          [4] MobileIMSDK-鴻蒙Next端發布公告

          [5] MobileIMSDK-鴻蒙Next端開發手冊* 推薦



          作者:Jack Jiang (點擊作者姓名進入Github)
          出處:http://www.52im.net/space-uid-1.html
          交流:歡迎加入即時通訊開發交流群 215891622
          討論:http://www.52im.net/
          Jack Jiang同時是【原創Java Swing外觀工程BeautyEye】【輕量級移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。
          本博文 歡迎轉載,轉載請注明出處(也可前往 我的52im.net 找到我)。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          Jack Jiang的 Mail: jb2011@163.com, 聯系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 航空| 泊头市| 上栗县| 常宁市| 新巴尔虎右旗| 横峰县| 城市| 孟津县| 黄陵县| 鄂伦春自治旗| 绥江县| 九龙城区| 潜山县| 林州市| 昆山市| 栾城县| 军事| 紫阳县| 宁明县| 潼关县| 黄石市| 抚州市| 辽中县| 鸡东县| 雷山县| 南城县| 富源县| 双辽市| 盐山县| 齐河县| 普兰店市| 正安县| 永宁县| 上杭县| 镇坪县| 商南县| 中西区| 密山市| 铜山县| 宁海县| 鄂伦春自治旗|