Jack Jiang

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

          導(dǎo)航

          公告


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

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

            讓技術(shù)不再封閉

            ③ 我的Github
            地址: 點(diǎn)此進(jìn)入
            好代碼,與大家分享
          <2023年4月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(290)

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

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

          一、基本介紹

          MobileIMSDK - 微信小程序端是一套基于微信原生 WebSocket 的即時(shí)通訊庫:

          • 1)超輕量級、無任何第 3 方庫依賴(開箱即用);
          • 2)純 JS 編寫、ES6 語法、高度提煉,簡單易用;
          • 3)基于微信原生 WebSocket API,簡潔優(yōu)雅;
          • 4)支持運(yùn)行于任何支持微信小程序的手機(jī)端;
          • 5)能與 MobileIMSDK 的各種客戶端完美互通;
          • 6)可應(yīng)用于微信小程序中的消息推送、客服聊天、企業(yè) OA、IM 等場景。

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

          MobileIMSDK - 微信小程序端是基于微信原生 WebSocket 協(xié)議的 MobileIMSDK 配套客戶端庫。

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

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

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

          MobileIMSDK 的客戶端庫一直在持續(xù)開發(fā)和升級中,目前 基于 Uniapp 的 MobileIMSDK 客戶端正在開發(fā)中 。

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

          直接使用原生的微信小程序 WebSocket 有以下問題和劣勢:

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

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

          MobileIMSDK - 微信小程序端庫的設(shè)計(jì)目標(biāo)是為您的開發(fā)帶來以下便利:

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

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

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

          五、Demo 運(yùn)行截圖

          六、詳細(xì)介紹

          ① MobileIMSDK - 微信小程序端的詳細(xì)介紹:點(diǎn)此查看 ??

          ② MobileIMSDK - 微信小程序端的開發(fā)手冊:點(diǎn)此查看 ??

          ③ MobileIMSDK 開源框架的詳細(xì)介紹:https://gitee.com/jackjiang/MobileIMSDK  ??



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


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


          網(wǎng)站導(dǎo)航:
           
          Jack Jiang的 Mail: jb2011@163.com, 聯(lián)系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 无锡市| 深泽县| 宁强县| 宝丰县| 宜兰县| 郯城县| 吉木萨尔县| 石门县| 忻州市| 衡东县| 望谟县| 青神县| 临西县| 鸡西市| 鄂托克前旗| 安陆市| 连江县| 淳安县| 五台县| 富民县| 鄱阳县| 保定市| 那坡县| 东港市| 水城县| 闻喜县| 蕉岭县| 涞源县| 五指山市| 苏尼特右旗| 岳池县| 海林市| 仁化县| 永宁县| 怀柔区| 宿州市| 永顺县| 萨嘎县| 芦山县| 临湘市| 南漳县|