Jack Jiang

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

          導(dǎo)航

          公告


            ① 即時(shí)通訊開(kāi)發(fā)社區(qū)
            地址: 52im.net
            專(zhuān)業(yè)的資料、社區(qū)

            ② 關(guān)注我的公眾號(hào):

            讓技術(shù)不再封閉

            ③ 我的Github
            地址: 點(diǎn)此進(jìn)入
            好代碼,與大家分享
          <2024年12月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(289)

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          60天內(nèi)閱讀排行

          一、基本介紹

          MobileIMSDK-鴻蒙端是一套基于鴻蒙Next(純血鴻蒙)系統(tǒng)的IM即時(shí)通訊客戶(hù)端庫(kù):

          • 1)超輕量級(jí)(編譯后庫(kù)文件僅50KB)、無(wú)任何第3方庫(kù)依賴(lài)(開(kāi)箱即用);
          • 2)純ArkTS編寫(xiě)、無(wú)Native代碼、高度提煉、簡(jiǎn)單易用;
          • 3)基于鴻蒙Next標(biāo)準(zhǔn)WebSocket  API,簡(jiǎn)潔優(yōu)雅;
          • 4)可運(yùn)行于任何支持鴻蒙Next的平臺(tái);
          • 5)能與 MobileIMSDK的各種客戶(hù)端完美互通;
          • 6)可應(yīng)用于鴻蒙Next中的消息推送、客服聊天、企業(yè)OA、IM等場(chǎng)景。

          二、與MobileIMSDK的關(guān)系

          MobileIMSDK-鴻蒙端是基于鴻蒙Next標(biāo)準(zhǔn)WebSocketAPI的 MobileIMSDK配套客戶(hù)端庫(kù)。

          以下是MobileIMSDK的最新通信架構(gòu)圖:

          MobileIMSDK是一套專(zhuān)為移動(dòng)端開(kāi)發(fā)的原創(chuàng)開(kāi)源IM通信層框架:

          • 1)歷經(jīng)10年、久經(jīng)考驗(yàn);
          • 2)超輕量級(jí)、高度提煉,lib包50KB以?xún)?nèi);
          • 3)精心封裝,一套API同時(shí)支持UDP、TCP、WebSocket三種協(xié)議(可能是全網(wǎng)唯一開(kāi)源的);
          • 4)客戶(hù)端支持iOS、Android、標(biāo)準(zhǔn)Java、H5(暫未開(kāi)源)、微信小程序(暫未開(kāi)源)、Uniapp(暫未開(kāi)源)、鴻蒙Next(Demo工程源碼)new;
          • 5)服務(wù)端基于Netty,性能卓越、易于擴(kuò)展;
          • 6)可與姊妹工程 MobileIMSDK-Web 無(wú)縫互通實(shí)現(xiàn)網(wǎng)頁(yè)端聊天或推送等;
          • 7)可應(yīng)用于跨設(shè)備、跨網(wǎng)絡(luò)的聊天APP、企業(yè)OA、消息推送等各種場(chǎng)景。

          PS:MobileIMSDK一直在持續(xù)開(kāi)發(fā)和升級(jí)中,本鴻蒙客戶(hù)端是MobileIMSDK工程的最新成果。

          三、設(shè)計(jì)目標(biāo)

          直接使用鴻蒙Next的WebSocket API開(kāi)擼,有以下問(wèn)題和劣勢(shì):

          • 1)功能有限:沒(méi)有心跳保活、斷線重連、消息送達(dá)保證(重傳和去重)等即時(shí)通訊關(guān)鍵算法和邏輯;
          • 2)API 簡(jiǎn)陋:在如此有限的API接口下,能邏輯清晰且健壯地實(shí)現(xiàn)并組合心跳保活、斷線重連、消息送達(dá)保證等算法,需要相當(dāng)高的技術(shù)掌控力;
          • 3)邏輯耦合:經(jīng)驗(yàn)欠缺的開(kāi)發(fā)人員,會(huì)將WebSocket通信邏輯與前端ArkUI界面代碼混在一起,使得UI界面的編寫(xiě)、維護(hù)、改版都非常困難。

          針對(duì)以上問(wèn)題,而MobileIMSDK-鴻蒙端庫(kù)將讓開(kāi)發(fā)者專(zhuān)注于UI應(yīng)用層的開(kāi)發(fā),網(wǎng)絡(luò)通信層的專(zhuān)業(yè)代碼交由SDK開(kāi)發(fā)人員,從而解偶UI前端和通信層的邏輯耦合性,大大降低技術(shù)復(fù)雜度和應(yīng)用門(mén)檻。

          MobileIMSDK-鴻蒙端庫(kù)的設(shè)計(jì)目標(biāo)是為您的開(kāi)發(fā)帶來(lái)以下便利:

          • 1)界面與通信解偶:UI界面與網(wǎng)絡(luò)通信層代碼解耦,UI界面的重構(gòu)、維護(hù)、改版都非常容易和優(yōu)雅;
          • 2)輕量級(jí)和兼容性:受益于堅(jiān)持使用鴻蒙Next的標(biāo)準(zhǔn)WebSocket API,簡(jiǎn)潔輕量,無(wú)需任何額外庫(kù)依賴(lài);
          • 3)核心內(nèi)聚和收斂:得益于長(zhǎng)期的提煉和經(jīng)驗(yàn)積累,SDK核心層高度封裝,開(kāi)發(fā)者無(wú)需理解復(fù)雜算法即可簡(jiǎn)單上手。
          • 4)純 ArkTS 實(shí)現(xiàn):純ArkTS編寫(xiě),無(wú)重量級(jí)框架和庫(kù)依賴(lài)(更無(wú)Native代碼),可干凈利落地對(duì)接各種既有系統(tǒng);
          • 5)跨平臺(tái)運(yùn)行能力:受益于鴻蒙系統(tǒng)的跨端特性,理論上本SDK可運(yùn)行于任何支持鴻蒙Next的平臺(tái)上。

          四、技術(shù)亮點(diǎn)

          • 1)超級(jí)輕量純凈:超輕量級(jí)——純ArkTS編寫(xiě)且無(wú)任何第3方庫(kù)依賴(lài),編譯后庫(kù)文件僅50KB;
          • 2)高內(nèi)聚易使用:高度提煉——簡(jiǎn)單易用,所有核心類(lèi)皆設(shè)計(jì)為單例——到手即用、高度容錯(cuò);
          • 3)跨端支持好:基于鴻蒙Next的標(biāo)準(zhǔn)WebSocket API(無(wú)Native代碼依賴(lài)),理論上可很好地運(yùn)行于任何支持最新鴻蒙的平臺(tái)上;
          • 4)斷網(wǎng)恢復(fù)能力:擁有網(wǎng)絡(luò)狀況自動(dòng)檢測(cè)、斷網(wǎng)自動(dòng)治愈的能力;
          • 5)送達(dá)保證機(jī)制:完善的QoS消息送達(dá)保證機(jī)制(自動(dòng)重傳、消息去重、狀態(tài)反饋等),不漏過(guò)每一條消息;
          • 6)通信協(xié)議封裝:實(shí)現(xiàn)了一個(gè)對(duì)上層透明的即時(shí)通訊通信協(xié)議模型;
          • 7)身份認(rèn)證機(jī)制:實(shí)現(xiàn)了簡(jiǎn)單合理的身份認(rèn)證機(jī)制;
          • 8)完善的log信息:在開(kāi)發(fā)調(diào)試階段,確保每一個(gè)算法關(guān)鍵步驟都有日志輸出,讓您的運(yùn)行調(diào)試更為便利;
          • 9)界面代碼解耦:實(shí)現(xiàn)了UI界面代碼與SDK網(wǎng)絡(luò)通信代碼解偶,防止界面代碼跟IM核心代碼混在一起,不利于持續(xù)升級(jí)、重用和維護(hù);
          • 10)多端協(xié)議兼容:實(shí)現(xiàn)了與MobileIMSDK各種客戶(hù)端完全兼容的協(xié)議模型。

          五、文件組成

          完整工程文件概覽:

           

          SDK代碼文件用途說(shuō)明:

          精編注釋級(jí)的源碼:

          六、Demo功能說(shuō)明

          點(diǎn)擊可看大圖 ▲

          七、實(shí)際運(yùn)行效果

          1)Demo 的登陸界面運(yùn)行截圖(點(diǎn)擊可看大圖 ▼

          2)Demo 的主界面運(yùn)行截圖(點(diǎn)擊可看大圖 ▼):

          3)Demo 運(yùn)行的同時(shí),可以查看詳細(xì)的 log 輸出(方便調(diào)試

          八、詳盡開(kāi)發(fā)者手冊(cè)

          ① 開(kāi)發(fā)者手冊(cè)網(wǎng)頁(yè)版):點(diǎn)此進(jìn)入 

          ② 開(kāi)發(fā)者手冊(cè)PDF精編版):點(diǎn)此進(jìn)入 * 推薦

          九、相關(guān)資料

          [1] 鴻蒙Next官方開(kāi)發(fā)資料

          [2] MobileIMSDK開(kāi)源框架的API文檔

          [3] MobileIMSDK開(kāi)源IM框架源碼Github地址點(diǎn)此

          [4] MobileIMSDK-鴻蒙Next端發(fā)布公告

          [5] MobileIMSDK-鴻蒙Next端開(kāi)發(fā)手冊(cè)* 推薦



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


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          Jack Jiang的 Mail: jb2011@163.com, 聯(lián)系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 海原县| 宜兰市| 太白县| 明溪县| 平阴县| 大名县| 江川县| 尖扎县| 永春县| 济阳县| 雷州市| 张家界市| 万荣县| 留坝县| 陵川县| 双江| 岗巴县| 高要市| 唐河县| 四平市| 哈密市| 苍梧县| 多伦县| 呼和浩特市| 扎兰屯市| 河西区| 青神县| 义乌市| 碌曲县| 新化县| 玛纳斯县| 游戏| 全州县| 陈巴尔虎旗| 沾益县| 甘泉县| 周至县| 台东市| 历史| 渭源县| 河间市|