Jack Jiang

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

          一、基本介紹

          MobileIMSDK是一套全平臺原創(chuàng)開源IM通信層框架:

          • 超輕量級、高度提煉,lib包50KB以內(nèi);
          • 精心封裝,一套API同時支持UDP、TCP、WebSocket三種協(xié)議(可能是全網(wǎng)唯一開源的);
          • 客戶端支持iOS、Android、標準Java、H5、微信小程序、Uniap、鴻蒙Next(Demo完整源碼);
          • 服務(wù)端基于Netty,性能卓越、易于擴展 new;
          • 可與姊妹工程 MobileIMSDK-Web 無縫互通實現(xiàn)網(wǎng)頁端聊天或推送等;
          • 可應(yīng)用于跨設(shè)備、跨網(wǎng)絡(luò)的聊天APP、企業(yè)OA、消息推送等各種場景。

          二、源碼倉庫同步更新

          GitHub.com:

          碼云gitee:

          三、設(shè)計目標

          讓開發(fā)者專注于應(yīng)用邏輯的開發(fā),底層復(fù)雜的即時通訊算法交由SDK開發(fā)人員,從而解偶即時通訊應(yīng)用開發(fā)的復(fù)雜性。

          四、框架組成

          整套MobileIMSDK框架由以下7部分組成:

          1. Android客戶端SDK:用于開發(fā)Android版即時通訊客戶端,支持Android 4.0及以上版本,查看API文檔
          2. iOS客戶端SDK:用于開發(fā)iOS版即時通訊客戶端,支持iOS 12.0及以上版本,查看API文檔
          3. Java客戶端SDK:用于開發(fā)跨平臺的PC端即時通訊客戶端,支持標準Java 1.6及以上版本,查看API文檔
          4. H5客戶端SDK:查看精編注釋版
          5. 微信小程序端SDK:查看精編注釋版
          6. Uniapp端SDK:查看精編注釋版
          7. 鴻蒙Next端SDK:SDK暫無開源版(查看精編注釋版),Demo完整工程源碼
          8. 服務(wù)端SDK:用于開發(fā)即時通訊服務(wù)端,支持Java 1.7及以上版本,查看API文檔

          整套MobileIMSDK框架的架構(gòu)組成:

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

          五、技術(shù)特征

          • 久經(jīng)考驗:歷經(jīng)10年,從Andriod 2.3、iOS 5.0 時代持續(xù)升級至今(絕不爛尾);
          • 超輕量級:高度提煉,lib包50KB以內(nèi);
          • 多種協(xié)議:可能是全網(wǎng)唯一開源可同時支持UDP、TCP、WebSocket三種協(xié)議的同類框架;
          • 多種網(wǎng)絡(luò):精心優(yōu)化的TCP、UDP、WebSocket協(xié)議實現(xiàn),可應(yīng)用于衛(wèi)星網(wǎng)、移動網(wǎng)、嵌入式物聯(lián)網(wǎng)等場景;
          • 多端覆蓋:客戶端支持iOS、Android、標準Java、H5微信小程序Uniapp鴻蒙Next
          • 高效費比:獨有的UDP協(xié)議實現(xiàn),無連接特性,同等條件下可實現(xiàn)更高的網(wǎng)絡(luò)負載和吞吐能力;
          • 消息走向:支持即時通訊技術(shù)中消息的所有可能走向,共3種(即C2C、C2S、S2C);
          • 粘包半包:優(yōu)雅解決各端的TCP經(jīng)典粘包和半包問題,底層封裝,應(yīng)用層完全無感知;
          • QoS機制:完善的消息送達保證機制(自動重傳、消息去重、狀態(tài)反饋等),不漏過每一條消息;
          • 健壯可靠:實踐表明,非常適于在高延遲、跨洲際、不同網(wǎng)絡(luò)制式環(huán)境中穩(wěn)定、可靠地運行;
          • 斷網(wǎng)恢復(fù):擁有網(wǎng)絡(luò)狀況自動檢測、斷網(wǎng)自動治愈的能力;
          • 原創(chuàng)算法:核心算法和實現(xiàn)均為原創(chuàng),保證了持續(xù)改進和提升的空間;
          • 多種模式:預(yù)設(shè)多種實時靈敏度模式,可根據(jù)不同場景控制即時性、流量和客戶端電量消耗;
          • 數(shù)據(jù)壓縮:自有協(xié)議實現(xiàn),未來可自主定制數(shù)據(jù)壓縮,靈活控制客戶端的流量、服務(wù)端網(wǎng)絡(luò)吞吐;
          • 高度封裝:高度封裝的API接口,保證了調(diào)用的簡易性,也使得可應(yīng)用于更多的應(yīng)用場景;
          • Web支持:可與姊妹工程 MobileIMSDK-Web 無縫互通實現(xiàn)網(wǎng)頁端聊天或推送等;
          • 擴展性好:服務(wù)端基于Netty,繼承了Netty的優(yōu)秀高可擴展性;
          • 性能優(yōu)異:服務(wù)端繼承了Netty高性能、高吞吐特性,適用于高性能服務(wù)端場景。

          六、演示程序

          1. Android客戶端 Demo:點此安裝和使用
          2. iOS客戶端 Demo:點此安裝和使用
          3. Java客戶端 Demo:點此安裝和使用
          4. H5客戶端 Demo:點此查看介紹
          5. 微信小程序端 Demo:點此查看介紹
          6. Uniapp端 Demo:點此查看介紹
          7. 鴻蒙Next端 Demo:點此查看介紹 new;
          8. 服務(wù)端 Demo:點此安裝和使用

          七、應(yīng)用案例

          RainbowChat是一款基于MobileIMSDK的產(chǎn)品級聊天APP,更多詳情:點擊下載體驗 或 查看運行截圖

          ① 基于MobileIMSDK的產(chǎn)品級聊天APP:

          ▶ 詳細介紹下載體驗 或 查看運行截圖

          ② MobileIMSDK在高網(wǎng)絡(luò)延遲下的案例:

          ▶ 某款基于MobileIMSDK的商業(yè)商品,曾運營于跨洲際的復(fù)雜網(wǎng)絡(luò)環(huán)境下,端到端通信延遲在洲際網(wǎng)絡(luò)繁忙時可高達600ms以上(與服務(wù)端的單向延遲約為300ms左右,而通常大家訪問國內(nèi)主流門戶的延遲約為20~50ms),某段時期的非敏感運營數(shù)據(jù) 點此查看

          八、打包下載(all in one)

          說明:最新發(fā)布版打包內(nèi)容中,已包含完整的demo源碼、sdk源碼、api文檔、編譯后的分發(fā)包等。

          九、典型應(yīng)用場景

          場景1:聊天APP

          應(yīng)用說明:可用于開發(fā)類似于微信、QQ等聊天工具。

          消息走向:需使用C2C、C2S、S2C全部類型。

          特別說明:MobileIMSDK并未定義聊天應(yīng)用的應(yīng)用層邏輯和協(xié)議,開發(fā)者可自行定義并實現(xiàn)之。

          場景2:消息推送

          應(yīng)用說明:可用于需要向客戶端實時推送信息的各種類型APP。

          消息走向:僅需使用S2C 1種消息走向,屬MobileIMSDK的最簡單應(yīng)用場景。

          場景3:企業(yè)OA

          應(yīng)用說明:可用于實現(xiàn)企業(yè)OA的指令、公文、申請等各種消息實時推送,極大提升用戶體驗,并可延伸至移動設(shè)備。

          消息走向:僅需使用S2C 1種消息走向,屬MobileIMSDK的最簡單應(yīng)用場景。

          場景4:企業(yè)OA的增強型

          應(yīng)用說明:可用于實現(xiàn)企業(yè)OA中各種系統(tǒng)級、用戶級消息的實時互動,充分利用即時通訊技術(shù)提升傳統(tǒng)OA的價值。

          消息走向:可使用C2C、C2S、S2C全部類型,這與聊天APP在很多方面已無差別,但企業(yè)OA有自已的用戶關(guān)系管理模型和邏輯,較之全功能聊天APP要簡單的多。

          十、開發(fā)指南

          1. Android客戶端開發(fā)指南:點此查看
          2. iOS客戶端開發(fā)指南:點此查看
          3. Java客戶端開發(fā)指南:點此查看
          4. H5客戶端開發(fā)指南:點此查看
          5. 微信小程序端開發(fā)指南:點此查看
          6. Uniapp端開發(fā)指南:點此查看
          7. 鴻蒙Next端開發(fā)指南:點此查看
          8. Server端開發(fā)指南:點此查看

          附錄1:Demo截圖

          1、在鴻蒙Next端運行效果:

          >> 編譯和運行:查看鴻蒙Next端Demo完整源碼

          2、Android端、iOS端運行效果

          >> 安裝和使用:進入Android版Demo幫助頁進入iOS版Demo幫助頁

          3、H5端運行效果

          4、微信小程序端運行效果

          5、Uniapp端運行效果

          6、Windows 運行效果

          >> 安裝和使用:進入Java版Demo幫助頁

          7、Mac OS X 運行效果

          >> 安裝和使用:進入Java版Demo幫助頁

          8、MobileIMSDK-Web版客戶端Demo運行效果:

          8.1)MobileIMSDK-Web在手機端瀏覽器運行效果:(如何獲取MobileIMSDK-Web版:點此進入

          8.2)MobileIMSDK-Web在PC端瀏覽器運行效果:(如何獲取MobileIMSDK-Web版:點此進入

          附錄2:基于MobileIMSDK的全功能IM【案例】

          >> 關(guān)于RainbowChat的更多資料請見:RainbowChat前端APP功能截圖網(wǎng)頁 (* 推薦 - 真機實拍視頻:Andriod端iOS端)。

          附錄3:基于MobileIMSDK-Web的網(wǎng)頁端IM系統(tǒng)【案例】

          下圖為RainbowChat-Web的主界面更多截圖點此進入更多演示視頻點此進入):

          下圖為RainbowChat-Web的主界面[聊天窗全屏?xí)r] (更多截圖點此進入更多演示視頻點此進入):

          下圖為RainbowChat-Web的主界面[獨立UI效果] (更多截圖點此進入更多演示視頻點此進入):

          以上內(nèi)容同步發(fā)布于:http://www.52im.net/thread-52-1-1.html )


          作者: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
          主站蜘蛛池模板: 建水县| 沁源县| 彰化市| 洛南县| 彭水| 安仁县| 新津县| 吉水县| 衡阳市| 东丽区| 姜堰市| 红桥区| 磐安县| 东平县| 南岸区| 林周县| 台安县| 嵊州市| 集贤县| 舞钢市| 奉新县| 镶黄旗| 通化市| 阿瓦提县| 吴桥县| 留坝县| 北海市| 明溪县| 科技| 茶陵县| 昆山市| 元谋县| 邯郸县| 萨迦县| 石台县| 清丰县| 广元市| 子长县| 香港| 承德市| 进贤县|