微信Mars來了

伴隨著2017年的鐘聲,它的到來給IM的世界帶來了更多的期待。
                             —— 題記

Mars是什么?

Mars是微信自用的移動端IM網(wǎng)絡(luò)層跨平臺組件庫(文末附源碼地址)。是一個業(yè)務(wù)性無關(guān)、平臺性無關(guān)、使用C++編寫的基礎(chǔ)組件庫。已接入Android、iOS、Mac、Windows、WP、UWP等客戶端。目前僅支持Android、iOS、Mac平臺,其他平臺會在后續(xù)版本中很快支持。

Mars剛推出來就關(guān)注度極高。之所以Mars廣受關(guān)注的原因,其實搞移動端IM或推送技術(shù)的開發(fā)者同行都明白,因為移動網(wǎng)絡(luò)實在太不可靠、太復(fù)雜,以至于寫出一個能用于大規(guī)模用戶環(huán)境的穩(wěn)定、省流量、省電、數(shù)據(jù)傳輸流暢、弱網(wǎng)絡(luò)健壯、后臺自動?;畹燃夹g(shù)指標(biāo)的IM或推送是相當(dāng)困難的。

更為重要的是,微信的體量和應(yīng)用規(guī)模決定了技術(shù)的高度:“It is proved to be effective by billions of WeChat users”.

由于它的跨平臺性,開源不到兩周,Github上就貢獻(xiàn)了6000多個星。


Mars解決了什么問題?

1.提供長連短連兩種連接方式
  2.常規(guī)的網(wǎng)絡(luò)能力,例如DNS防劫持,動態(tài)IP下發(fā),就近接入,容災(zāi)恢復(fù)
  3.貼合移動互聯(lián)網(wǎng)的網(wǎng)絡(luò)層解決方案
  4.貼合移動端的平臺特性:前后臺、活躍態(tài)、休眠、省電、省流量

那么微信Mars到底有什么用呢?毫無疑問,微信Mars存在的前提就是為了更好的服務(wù)微信這個超級IM而存在,最適合干的活就是開發(fā)移動端IM了,當(dāng)然由于提煉的很好,相信移動端推送技術(shù)等都是可以使用微信Mars作為網(wǎng)絡(luò)層lib來使用,從而以微信的成果為起點開發(fā)出擁有更加優(yōu)秀網(wǎng)絡(luò)體驗的移動端富網(wǎng)絡(luò)應(yīng)用。


下面是微信官方給出的使用Mars的理由:

Mars是一個結(jié)合移動App所設(shè)計的基于Socket層的解決方案。在網(wǎng)絡(luò)調(diào)優(yōu)方面,有更好的可控性,不過對于HTTP完整協(xié)議的支持,已經(jīng)考慮在后續(xù)版本中加入。

建議:

如果你想一次學(xué)習(xí),多個平臺使用,Mars是一個比較好的選擇。
  如果你面對的用戶是移動網(wǎng)絡(luò)下的用戶,Mars更是一個比較好的選擇。
  如果你只是想使用完整的HTTP協(xié)議,Mars暫時可能不適合你。

源碼地址:https://github.com/Tencent/mars

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容