Jack Jiang

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

          一、基本介紹

          MobileIMSDK-Uniapp端是一套基于Uniapp跨端框架的即時通訊庫:

          • 1)超輕量級、無任何第3方庫依賴(開箱即用);
          • 2)純JS編寫、ES6語法、高度提煉,簡單易用;
          • 3)基于Uniapp標(biāo)準(zhǔn)WebSocket API,簡潔優(yōu)雅;
          • 4)理論上可運行于任何支持Uniapp跨端框架的平臺上;
          • 5)能與 MobileIMSDKGithub托管鏈接) 的各種客戶端完美互通;
          • 6)可應(yīng)用于基于Uniapp的跨平臺App或Web的消息推送、客服聊天、企業(yè)OA、IM等場景。

          詳細開發(fā)資料:

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

          MobileIMSDK-Uniapp端 是基于Uniapp標(biāo)準(zhǔn) WebSocket API的 MobileIMSDK配套客戶端庫。

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

           

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

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

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

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

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

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

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

          MobileIMSDK-Uniapp端庫的設(shè)計目標(biāo)是為您的開發(fā)帶來以下便利:

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

          四、技術(shù)亮點

          • 1)輕量易使用: 超輕量級——純JS編寫且無任何第3方庫依賴,高度提煉——簡單易用;
          • 2)代碼現(xiàn)代感: 盡可能優(yōu)先使用ES6語法,摒棄舊式JS語法的年代感;
          • 3)跨端支持好: 基于Uniapp的標(biāo)準(zhǔn)WebSocket API(無Native代碼依賴),理論上可很好地運行于任何支持Uniapp的平臺上;
          • 4)斷網(wǎng)恢復(fù)能力: 擁有網(wǎng)絡(luò)狀況自動檢測、斷網(wǎng)自動治愈的能力;
          • 5)送達保證機制: 完善的QoS消息送達保證機制(自動重傳、消息去重、狀態(tài)反饋等),不漏過每一條消息;
          • 6)通信協(xié)議封裝: 實現(xiàn)了一個對上層透明的即時通訊通信協(xié)議模型;
          • 7)身份認證機制: 實現(xiàn)了簡單合理的身份認證機制;
          • 8)完善的log信息: 在開發(fā)調(diào)試階段,確保每一個算法關(guān)鍵步驟都有日志輸出,讓您的運行調(diào)試更為便利;
          • 9)界面代碼解耦: 實現(xiàn)了UI界面代碼與SDK網(wǎng)絡(luò)通信代碼解偶,防止界面代碼跟IM核心代碼混在一起,不利于持續(xù)升級、重用和維護;
          • 10)多端協(xié)議兼容: 實現(xiàn)了與MobileIMSDK各種客戶端完全兼容的協(xié)議模型。

          五、文件組成

          SDK代碼文件概覽:

          SDK代碼文件用途說明:

          六、Demo運行效果和說明

          七、跨平臺運行效果演示

          1)Demo在內(nèi)置瀏覽器中的運行效果:

          2)Demo在電腦瀏覽器中的運行效果(以Chrome為例):

          3)Demo在Android真機上的運行效果:

          4)Demo在iOS模擬器上的運行效果:

          5)Demo在iOS真機上的運行效果:

          6)Demo在微信小程序上的運行效果:

          7)Demo在支付寶小程序上的運行效果:

          其它更多平臺的運行效果就不一一列舉了,因為都要安裝各自的開發(fā)工具,硬盤空間吃緊 。。。

          八、詳細資料

          ① MobileIMSDK-Uniapp端的詳細介紹:點此查看 ??
          ② MobileIMSDK-Uniapp端的開發(fā)手冊(網(wǎng)頁版):點此查看 ??
           MobileIMSDK-Uniapp端的開發(fā)手冊(精編PDF版):點此查看 ?? (* 推薦
          ④ MobileIMSDK-開源框架的詳細介紹:https://gitee.com/jackjiang/MobileIMSDK (Github托管鏈接)??



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


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


          網(wǎng)站導(dǎo)航:
           
          Jack Jiang的 Mail: jb2011@163.com, 聯(lián)系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 霍城县| 左云县| 盐亭县| 临西县| 台中市| 黑山县| 新闻| 浮梁县| 岱山县| 岑溪市| 怀仁县| 安丘市| 武汉市| 赤水市| 林口县| 栖霞市| 张家界市| 黄陵县| 安远县| 云霄县| 铜陵市| 石景山区| 安新县| 左云县| 大余县| 德清县| 车险| 福海县| 蕉岭县| 吉安市| 乐东| 兰考县| 凌源市| 阿鲁科尔沁旗| 南城县| 牟定县| 盐津县| 达拉特旗| 丹棱县| 北安市| 清丰县|