Jack Jiang

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

          導航

          公告


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

            ② 關注我的公眾號:

            讓技術不再封閉

            ③ 我的Github
            地址: 點此進入
            好代碼,與大家分享
          <2019年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(289)

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

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

          本文由DCloud 公司創(chuàng)始人王安原創(chuàng)發(fā)布于CSDN,原題《小程序技術演進史》,即時通訊網(wǎng)收錄時有改動,感謝原作者。

          1、引言

          微信的成功,并非特定于某個具體的功能,微信的成功實際上是一大批創(chuàng)新技術和體驗的成功合集,這也是它為何如此難此被超越的根本原因。

          作為微信這個超級社交應用中最為亮眼的技術之一——微信小程序,儼然已成歷移動端小程序的代名詞,很多人一提起“小程序”3個字就條件反射式地認為是微信小程序。事實是,小程序技術并非微信獨創(chuàng),它的出現(xiàn)和演進,實際上包含了一大批各類公司、各產(chǎn)品技術先驅(qū)們的努力。

          實際上,早在微信小程序之前,有力推輕應用的百度,有來自 HTML5 中國產(chǎn)業(yè)聯(lián)盟的 DCloud 所主張的流應用,但最終卻都已經(jīng)淹沒在了移動互聯(lián)網(wǎng)的歷史長河之中。唯有微信小程序風生水起,更是帶動了巨頭們的爭相入場。

          小程序迎來了專屬于中國移動互聯(lián)網(wǎng)的群雄逐鹿的時代。

          本文作者王安即是流應用的創(chuàng)造者,作為移動領域的老兵,他依然在矢志不移地構建移動開發(fā)工具框架及生態(tài),從原生應用到 HTML5 再到如今的小程序,他是這段歷史的見證者、參與者。

          本篇文章,將為你盤點移動端小程序技術的前世今生。通過本文,我們能夠鮮活地看到小程序的技術演進歷程,以及對于所有開發(fā)者來說,終將去往何處。

          (本文同步發(fā)布于:http://www.52im.net/thread-2645-1-1.html

          2、關于作者

          王安:DCloud 公司創(chuàng)始人,HTML5 中國產(chǎn)業(yè)聯(lián)盟秘書長。2003 年開始從事移動互聯(lián)網(wǎng)工作,十幾年編程和商業(yè)經(jīng)驗,連續(xù)創(chuàng)業(yè)者。曾任北京市學聯(lián)主席,畢業(yè)后創(chuàng)辦 DCloud 公司。興趣愛好:編程、顛覆式創(chuàng)新。

          3、相關文章

          最火移動端跨平臺方案盤點:React Native、weex、Flutter
          盤點主流移動端跨平臺UI技術:實現(xiàn)原理、技術優(yōu)劣、橫向?qū)Ρ鹊?/a>

          4、中國特色的移動互聯(lián)網(wǎng)時代

          伴隨著 QQ 小程序 面向用戶開放,這個手機端月活 7 億的巨無霸正式入場。小程序,終于成為了超級 App 的標配。

          盤點下已經(jīng)支持小程序的超級 App:

          微信、企業(yè)微信、QQ、支付寶、高德地圖、手機淘寶、百度、百度貼吧、百度地圖、今日頭條、抖音……

          這些璀璨耀眼的名字,背后都是巨大的流量。

          在這群超級 App 的支持下,中國的移動互聯(lián)網(wǎng)格局被徹底改變。

          這個有中國特色的移動互聯(lián)網(wǎng)時代,被稱為“小程序時代”。

          這是繼手機支付后,中國的移動互聯(lián)網(wǎng)領先世界的第二個代表事物。

          中國的技術標準、開發(fā)者生態(tài),第一次得到大規(guī)模的普及應用,而且很明顯,小程序在功能和體驗上均超過了 HTML5。

          中國人能建立開發(fā)者生態(tài)嗎?這個命題曾一度讓人懷疑。

          小程序完成了這一步突破,這是一場值得歌頌的中國技術生態(tài)發(fā)展史。

          讓我們來回顧下這場技術生態(tài)革命,是如何開始,又將要去向何方。

          5、羅馬不是一天建成的,小程序也不是一天發(fā)明出來的

          HTML5 于 2007 年在 W3C 立項,與 iPhone 發(fā)布同年。

          喬布斯曾期待 HTML5 能幫助 iPhone 打造起應用生態(tài)系統(tǒng)。

          但 HTML5 的發(fā)展速度并不如預期,它雖然成功地實現(xiàn)了打破 IE+Flash 壟斷局面的目標,卻沒有達到承載優(yōu)秀的移動互聯(lián)網(wǎng)體驗的地步。

          于是在 iPhone 站穩(wěn)腳跟后,發(fā)布了自己的 App Store,開啟了移動互聯(lián)網(wǎng)的原生應用時代。

          隨后的 Android,本來是基于 Linux 的 OS,與之同期的 MeeGo 等競爭對手采用 C + HTML5 的雙模應用生態(tài)策略,然而 C 的開發(fā)難度太大,HTML5 體驗又不行。Android 依靠 Java 技術生態(tài),在競爭中脫穎而出。

          于是:在移動互聯(lián)網(wǎng)初期,應用生態(tài)被定了基調(diào) —— 原生開發(fā)。

          在那個時候,硬件不行,也沒有其他辦法,原生開發(fā)才能在低配硬件上帶來商用體驗。

          但大家都在懷念 HTML,那種無需安裝更新、即點即用,直達二級頁面的特點,一直讓人迷戀。

          國內(nèi)有一批做瀏覽器的廠商,嘗試去改進 HTML5,他們提出了輕應用的概念。

          通過給 WebView 擴展原生能力,補充 JS API,讓 HTML5 應用可以實現(xiàn)更多功能。

          不過這類業(yè)務沒有取得成功,HTML5 的問題不止是功能不足,性能體驗是它更嚴重的問題,而體驗問題,不是簡單地擴展 JS 能力能搞定的。

          這類業(yè)務發(fā)展的頂峰,是微信的 JS SDK。

          作為國內(nèi)事實上最大的手機瀏覽器,微信為它的瀏覽器內(nèi)核擴充了大量 JS API,讓開發(fā)者可以用 JS 調(diào)用微信支付、掃碼等眾多 HTML5 做不到的功能。

          ▲ 微信 JS SDK 說明文檔

          但微信團隊對這套方案的體驗仍然不滿意,微信錢包欄目里打車、理財?shù)群芏鄳秒m然嵌入了 JS SDK,但每次點擊要等半天白屏,讓人用著很痛苦,他們在業(yè)內(nèi)開始尋找新的解決方案。

          業(yè)內(nèi)早有專業(yè)團隊看到了相同的問題。

          與瀏覽器不同,Hybrid 應用是另一個細分領域。它們?yōu)殚_發(fā)者提供使用 JS 編寫跨平臺應用的工具,為了讓 JS 應用更接近原生應用的功能體驗,這個行業(yè)的從業(yè)者做出了很多嘗試。

          筆者所在的 DCloud 即是其中之一,我們提出了改進 HTML5 的“性工能”障礙的解決方案 —— 通過工具、引擎優(yōu)化、開發(fā)模式調(diào)整,讓開發(fā)者可以通過 JS 寫出更接近原生 App 體驗的應用。

          多 WebView 模式,原生接管轉(zhuǎn)場動畫、下拉刷新、Tab 分頁,預載 WebView……各種優(yōu)化技術不停迭代,終于讓 Hybrid 應用取得了性能體驗的突破。

          Hybrid 應用和普通的輕應用相比,還有一個巨大的差別:一個是 Client/Server,一個是 Browser/Server。簡單來說,Hybrid 應用是 JS 編寫的需要安裝的 App,而輕應用是在線網(wǎng)頁。

          C/S 的應用在每次頁面加載時,僅需要聯(lián)網(wǎng)獲取 JSON 數(shù)據(jù);而 B/S 應用除了 JSON 數(shù)據(jù)外,還需要每次從服務器加載頁面 DOM、樣式、邏輯代碼,所以 B/S 應用的頁面加載很慢,體驗很差。

          可是這樣的 C/S 應用雖然體驗好,卻失去了 HTML5 的動態(tài)性,仍然需要安裝、更新,無法即點即用、直達二級頁面。

          那么 C/S 應用的動態(tài)性是否可以解決呢?對此,我們提出了流應用概念,把之前 Hybrid 應用里的運行于客戶端的 JS 代碼,先打包發(fā)布到服務器,制定流式加載協(xié)議,手機端引擎動態(tài)下載這些 JS 代碼到本地,并且為了第一次加載速度更快,實現(xiàn)了應用的邊下載邊運行。

          就像流媒體的邊下邊播一樣,應用也可以實現(xiàn)邊用邊下。

          在這套方案的保障下,終于解決了之前的各種難題:讓 JS 應用功能體驗達到原生,并且可即點即用、可直達二級頁面。

          如今看來,這已經(jīng)變成了常識。但在當年,先驅(qū)們做了無數(shù)艱辛探索。

          這套技術,需要讓客戶端引擎提前預置在手機上,就像流媒體的普及,建立在 Flash 的裝機量巨大的基礎上,那么普及這個客戶端引擎就變得很重要。

          2015 年,360 和 DCloud 合作,在 360 手機助手里內(nèi)嵌了這個客戶端引擎,推出了業(yè)內(nèi)第一個商用的小程序,360 稱之為 360 微應用。

          微應用實現(xiàn)了在 360 手機助手的應用下載頁面,同時出現(xiàn)了“秒開”按鈕,點擊后直接使用。

          并且在 360 手機助手的掃碼里,應用的分享里,都實現(xiàn)了掃碼獲得一個應用,點擊分享消息獲得一個應用。

          ▲ 在 360 手機助手 3.4 版本中上線的中國第一個小程序

          為了做大生態(tài),DCloud 把這套技術標準,捐獻給了 HTML5 中國產(chǎn)業(yè)聯(lián)盟,隨后,聯(lián)盟開始推動更多的超級 App 和手機廠商加入,共同推進動態(tài) App 產(chǎn)業(yè)的發(fā)展。

          然而事情并不順利,巨頭們有自己的利益訴求。雖然有一批廠商同意加入聯(lián)盟共建生態(tài),但最關鍵的角色,真正的國民應用“微信”,最終決定自立標準、自研引擎,當然技術原理與流應用是基本一致的。

          2016 年 1 月 11 日,微信公開課,張小龍罕見露面,公布了微信應用號的計劃,為這個大事件親自站臺。

          2016 年 9 月 21 日,微信宣布更名應用號為小程序,面向首批開發(fā)者內(nèi)測。從此,這個詞被正式定了下來,“小程序”,成為后續(xù)一個時代的代名詞。而“流應用”、“微應用”則淹沒在歷史長河中成為一個令人唏噓的故事。

          2017 年 1 月 9 日,微信公開課,小程序面向用戶正式推出。

          從此后,阿里巴巴、手機廠商聯(lián)盟、百度、今日頭條,陸續(xù)推出了自己的小程序平臺,其中也有很多波折與故事,在有偶然、有必然的過程中,形成了今天的局面。

          小程序大潮卷入了更多人,并形成了更大的浪潮,最終迎來了不可逆轉(zhuǎn)的小程序時代。

          6、生態(tài)難,難于上青天

          發(fā)明能解決功能體驗和動態(tài)性的技術方案,雖然難,但不是最難的事情。

          最難的是開發(fā)者生態(tài)的建設。

          最初 HTML5 中國產(chǎn)業(yè)聯(lián)盟的策略是在 HTML5 上擴展強化,復用現(xiàn)有的 HTML5 生態(tài)。

          當微信的標準完全自立重建時,業(yè)內(nèi)人士都懸著一顆心。

          在全球,基于 Web 的技術生態(tài)已經(jīng)非常成熟,各種開發(fā)工具、框架、組件、模板...提升著開發(fā)者的效率。

          小程序丟棄了國際標準組織 W3C 的 DOM 和 Window 標準,僅僅采用基礎 JavaScript。這意味著 HTML5 生態(tài)的各種輪子無法復用,要完全重造一個新的小程序開發(fā)生態(tài)。

          當初微信推廣 JS SDK 時,是那么地順其自然,開發(fā)者紛紛開始使用,因為對于開發(fā)者,只是在他們的 H5 版本上補充一些 API 而已。

          而小程序初期,充滿了開發(fā)者的質(zhì)疑聲:我的業(yè)務迭代那么久,讓我重新做一個版本,你的生態(tài)到底能不能支撐我的投入?

          微信用持續(xù)而快速的版本升級、高管的站臺,告訴大家微信做小程序的決心,并最終通過 2017 年底的跳一跳,引爆了小程序。

          從此大家的問題不再是我要不要做小程序了,而轉(zhuǎn)向了:既然要做,怎么才能提升小程序的開發(fā)效率、降低開發(fā)成本?

          任何一種技術,或者開發(fā)模式的演進,在不斷成熟的過程中,都遵循著類似的成熟規(guī)律:

          技術標準 -> 基礎平臺 -> 開發(fā)工具 -> 培訓市場 -> 框架誕生 -> 周邊生態(tài)逐步完善 -> 輪子之上的輪子

          在 HTML5 生態(tài)里,已經(jīng)發(fā)展到最終極的形態(tài),比如 Vue 是一個重要框架,而基于 Vue 的各種豐富的 UI 庫、測試框架,則是輪子之上的輪子。

          多層輪子代表著生態(tài)的繁榮,也意味著開發(fā)者的開發(fā)效率更高。

          可微信的全新標準出現(xiàn)時,它把開發(fā)者推回了原始社會,一切都要重來。

          這在當時看來,并不是一個必然會成功的事情(其實直到現(xiàn)在,比如圖表類輪子,小程序仍然比不過 HTML5)。

          時至今日,討論這個標準的選擇對錯已經(jīng)沒有意義。當支付寶、百度、今日頭條都開始參考這個標準做小程序時,時代已經(jīng)不可阻擋。

          所幸,最終的結(jié)果是,中國人做成了。在國際標準之外,在中國,終于建立起了自己的技術生態(tài)。

          并且這個生態(tài),給用戶帶來了更好的體驗,給開發(fā)者帶來了更多流量和變現(xiàn)效率的提升,這是一個比 HTML5 更優(yōu)秀的生態(tài)。

          7、野蠻的技術生態(tài)成長速度

          兩年時間,中國的小程序開發(fā)者如何從原始社會進階到現(xiàn)代文明?這也是一段有趣的歷史。

          我們來看看小程序技術生態(tài)是如何快速成長,走完上面所說的這套技術成熟路線,也就是從技術標準到輪子之上的輪子的。

          在 Web 世界里,已經(jīng)成熟到了原生 JS 用量很少的時代了,開發(fā)人員大量使用 Vue 等框架,并且在 Vue 的基礎之上,又有更多輪子。

          當中國的開發(fā)人員面臨重頭開始時,他們感受到效率對比的差距,既然時代已不可阻擋,那就擁抱它。勤勞的中國技術人開始蓬勃地建設起了小程序各種周邊技術生態(tài)。

          其中比較重要的是開發(fā)框架的迭代,我們看看每個小程序開發(fā)框架為什么會誕生、流行和衰落。

          最初的微信小程序,一片荒蠻,一份文檔 + 一個難用的 IDE,很多效率工具比如 npm、預處理器這些都不支持,而這些已經(jīng)是大型項目離不開的工具。

          于是,第一個標志性的框架出現(xiàn)了 —— WePY

          WePY 緊隨微信小程序在 2017 年發(fā)布,原本是騰訊其他部門的一個個人工程師的作品。在那個年代,WePY 有效地解決了小程序不支持 npm、預處理器的痛點,被引爆后,騰訊官方才把這個框架收編到官方的 GitHub 下。

          不過 WePY 也面臨很多問題,它使用了私有語法,這讓它在生態(tài)建設上面臨很大難度,IDE 著色、語法提示、語法校驗、格式化、人員招聘培訓等各方面問題制約著它的流行和普及。

          面對這些問題,人們開始思考,有什么更好的方式,可以復用現(xiàn)有技術生態(tài)來快速完善小程序生態(tài)?

          這時候下一個重要框架借勢誕生,美團前端在 2018 年初開源了 MPVue

          MPVue 采用 Vue 語法來開發(fā)小程序,通過對 Vue.js 的底層改造,實現(xiàn)了編譯到微信小程序。

          MPVue 良好地借助了 Vue 的技術生態(tài),周邊工具如 IDE、校驗器、格式化等支持直接復用、人員招聘培訓等生態(tài)建設壓力大幅下降,受到了大量開發(fā)者的歡迎。

          看著熟悉 Vue 的開發(fā)者終于有了趁手的輪子,那熟悉 React 的開發(fā)者怎會無動于衷?

          京東團隊是 React 的重度用戶,還自研了 JDreact,于是他們開發(fā)了 Taro 框架,一款基于 React 語法編寫小程序的框架。

          但 Taro 并不是想簡單做一個 MPVue 在 React 世界里的翻版,Taro 相比 MPVue,想要解決更多重要問題。

          Taro 面世較晚,此時微信、支付寶、百度、頭條都已發(fā)布或宣傳了自己的小程序,開發(fā)者面臨一個多端開發(fā)和適配的問題。

          于是 Taro 率先支持多端開發(fā),它甚至還能發(fā)布到 H5 和 App。

          ▲ 京東凹凸實驗室

          當時小程序領域還有一個重要變化,微信開始支持小程序自定義組件。

          組件是一個成熟框架不可缺的東西,不管是 Vue 還是 React 都有豐富的組件生態(tài)。

          在過去,MPVue 時代,是把 Vue 組件也編譯成頁面模板,這帶來一個很大的性能問題,在復雜頁面里(比如長列表)使用組件,更新組件狀態(tài)會導致整個頁面的數(shù)據(jù)全部從 JS 邏輯層向視圖層通訊一次,大量數(shù)據(jù)通訊會非常卡頓。

          注意:小程序的邏輯層運行在 V8 或 JSCore 下,和視圖層是分離的,通訊阻塞很容易引發(fā)性能問題。

          于是 Taro 把 React 組件編譯為新出的微信小程序自定義組件,這種組件在數(shù)據(jù)更新時,只會更新組件內(nèi)部的數(shù)據(jù),而不是整個頁面更新數(shù)據(jù),從而大幅減少了數(shù)據(jù)通信量。

          這一輪的后浪推前浪很猛,Taro 在性能和多端支持上,都超越了 MPVue。

          看著 React 陣營取得如此成績,Vue 陣營自然會繼續(xù)追擊。

          我們基于 Vue 開發(fā)了 uni-app,它實現(xiàn)了自定義組件編譯模式,并在算法上做了很多優(yōu)化。另外,之前 MPVue 對 Vue 的語法支持度不太完善,比如過濾器等不支持,在 uni-app 中我們進行了解決。

          同樣,uni-app 也看到了前浪的其他問題:Taro 雖然邁出了多端的第一步,但多端支持能力比較弱,每個平臺仍然各自開發(fā)大量代碼。核心原因,是Taro 在 H5 端和 App 端,并不是一個完整的小程序技術架構,無法保持最大程度的統(tǒng)一。

          于是 uni-app 在 App 端,使用了一個技術架構相同的小程序引擎,本身就可以直接運行小程序應用,這個引擎搭配小程序代碼打包為 App,開發(fā)者一行代碼不用改,可以同時發(fā)布小程序和 App。

          當然,其 App 引擎從 Hybrid 應用起家,它提供的 API 要比小程序多很多,因為 App 的需求會比小程序豐富,它還支持把 WebView 渲染引擎替換為 Weex 渲染引擎。

          之后 uni-app 又發(fā)布了 H5 版的小程序引擎,原理與小程序的 PC 模擬器相同,實現(xiàn)了良好的跨 H5 版的發(fā)布。于是 uni-app 比較完美地實現(xiàn)了開發(fā)一次,7 個平臺發(fā)布。

          第一層輪子就這樣迅速發(fā)展了起來,Web 世界里最成熟的 Vue、React 技術生態(tài)被導入了小程序開發(fā)生態(tài)中。然后輪子之上的輪子開始如火如荼的建設。

          以 UI 庫為例,之前的 UI 庫,有 Vue 庫、React 庫,有 PC 庫、H5 庫和小程序庫,種類繁多,甚至說混亂。

          比如在 Vue 陣營中,Vant 和 iView 這兩個 UI 庫,都是同時維護兩個版本,它們即有 H5 版,又有小程序版。

          不止框架作者麻煩,開發(fā)者想在多端使用這些 UI 庫時,會發(fā)現(xiàn)在不同端還需要引入不同的 UI 庫,寫法都不一樣,這讓開發(fā)者很崩潰。

          既然已經(jīng)可以多端開發(fā)應用,于是在多端開發(fā)的領域里,開始出現(xiàn)輪子之上的輪子,多端 UI 庫。

          首先是 Taro 推出了 Taro UI,實現(xiàn)了 H5 和小程序 UI 庫的統(tǒng)一,不過可惜 Taro UI 不支持 App 端。

          然后 uni-app 推出了 uni UI,這個 UI 庫同時支持多家小程序、H5、App。

          由于 uni-app 和 MPVue 同屬 Vue 陣營,它們的組件是互通的。于是這兩家聯(lián)合舉辦了一場插件大賽,建立了插件市場。

          在中國的前端開發(fā)者領域,有很多和國外不一樣的地方:一個是國內(nèi)有小程序,第二個是國內(nèi) Vue 的開發(fā)者體量遠超過 React 和 Angular。這里面很大的原因,是 Vue.js 的作者尤雨溪,是中國人。

          ▲ Vue 和 React 百度指數(shù)對比

          在龐大的 Vue 用戶體量支持下,uni-app 和 MPVue 的周邊生態(tài)迅速發(fā)展起來,開發(fā)工具、周邊輪子、教育培訓等生態(tài)快速完善。目前在 Vue 陣營下,開發(fā)者在 Web 生態(tài)下所需的輪子,在多端開發(fā)下基本也都有了。

          短短兩年時間,小程序開發(fā)生態(tài)里幾撥迭代,輪子之上的輪子不斷涌現(xiàn),快速進入了成熟期。

          8、本文小結(jié)

          產(chǎn)業(yè)還在繼續(xù)發(fā)展,每當?shù)讓佑兄卮蠹夹g變更時,上層框架世界就會發(fā)生新機會。

          當年 HTML5 標準不統(tǒng)一,瀏覽器兼容性問題嚴重,誕生了 jQurey 的機會。而在移動互聯(lián)網(wǎng)下半場,瀏覽器兼容已經(jīng)不再是核心問題,jQurey 的地位被更適合移動互聯(lián)網(wǎng)的 Vue 替代。

          我們不知道未來還會有什么新的框架出世,但我們知道方向:

          對于開發(fā)者而言,總是會向著更高的開發(fā)效率、更高的性能、更高的投入產(chǎn)出比前進。

          對于開發(fā)商,目前的小程序,雖然發(fā)展了 2 年,但流量增長空間仍然巨大,微信之外,很多超級 App 的勢能將逐漸釋放,整個小程序產(chǎn)業(yè)的日活總量有數(shù)億的提升空間。

          如果開發(fā)商能追上這撥紅利,就能獲得更多增長。而多端框架的出現(xiàn),可以幫助開發(fā)商更好的把握這撥紅利。

          中國的技術發(fā)展,此刻正在經(jīng)歷一個分水嶺,從全面的技術進口,到開始建設自己的標準和開發(fā)者生態(tài)。遲早,會開始向外輸出,引領世界的進步。

          不管中美是否開打貿(mào)易戰(zhàn),這一轉(zhuǎn)變都是必須做的事情。

          中國的移動支付、小程序、5G,很多領域已經(jīng)走在了全球前面。中國人發(fā)明的 Vue 已經(jīng)在影響全球。

          雖然還有很多困難仍需克服,但我們每個開發(fā)者,都是新時代的見證者,更是新生態(tài)的建設者!

          附錄:更多移動端開發(fā)精華文章

          全面了解移動端DNS域名劫持等雜癥:技術原理、問題根源、解決方案等
          美圖App的移動端DNS優(yōu)化實踐:HTTPS請求耗時減小近半
          金蝶隨手記團隊分享:還在用JSON? Protobuf讓數(shù)據(jù)傳輸更省更快(原理篇)
          金蝶隨手記團隊分享:還在用JSON? Protobuf讓數(shù)據(jù)傳輸更省更快(實戰(zhàn)篇)
          騰訊技術分享:社交網(wǎng)絡圖片的帶寬壓縮技術演進之路
          通俗易懂:基于集群的移動端IM接入層負載均衡方案分享
          QQ音樂團隊分享:Android中的圖片壓縮技術詳解(上篇)
          QQ音樂團隊分享:Android中的圖片壓縮技術詳解(下篇)
          騰訊原創(chuàng)分享(一):如何大幅提升移動網(wǎng)絡下手機QQ的圖片傳輸速度和成功率
          騰訊原創(chuàng)分享(二):如何大幅壓縮移動網(wǎng)絡下APP的流量消耗(上篇)
          騰訊原創(chuàng)分享(三):如何大幅壓縮移動網(wǎng)絡下APP的流量消耗(下篇)
          基于社交網(wǎng)絡的Yelp是如何實現(xiàn)海量用戶圖片的無損壓縮的?
          騰訊技術分享:騰訊是如何大幅降低帶寬和網(wǎng)絡流量的(圖片壓縮篇)
          騰訊技術分享:騰訊是如何大幅降低帶寬和網(wǎng)絡流量的(音視頻技術篇)
          最火移動端跨平臺方案盤點:React Native、weex、Flutter
          盤點主流移動端跨平臺UI技術:實現(xiàn)原理、技術優(yōu)劣、橫向?qū)Ρ鹊?/a>
          小程序技術始于微信?來看看移動端小程序技術的前世今生!
          iPhone X 的 UI界面適配官方指南!》
          《[url=http://www.52im.net/thread-1843-1-1.html]新浪微博技術分享:微博短視頻服務的優(yōu)化實踐之路

          全面掌握移動端主流圖片格式的特點、性能、調(diào)優(yōu)等
          邁向高階:優(yōu)秀Android程序員必知必會的網(wǎng)絡基礎
          HTTPS時代已來,打算更新你的HTTP服務了嗎?
          移動端APP的日志上報機制的優(yōu)化實踐
          移動端網(wǎng)絡優(yōu)化之HTTP請求的DNS優(yōu)化
          偽即時通訊:分享滴滴出行iOS客戶端的演進過程
          Android版微信從300KB到30MB的技術演進(PPT講稿) [附件下載]
          微信團隊原創(chuàng)分享:Android版微信從300KB到30MB的技術演進
          Android程序員的痛你永遠不懂(一):Bitmap到底占用多大內(nèi)存?
          Android程序員的痛你永遠不懂(二):如何減少Bitmap內(nèi)存占用?
          Android反編譯利器APKDB:沒有美工的日子里繼續(xù)堅強的擼
          微信團隊原創(chuàng)分享:Android內(nèi)存泄漏監(jiān)控和優(yōu)化技巧總結(jié)
          全面總結(jié)iOS版微信升級iOS9遇到的各種“坑”
          微信團隊原創(chuàng)資源混淆工具:讓你的APK立減1M
          微信團隊原創(chuàng)Android資源混淆工具:AndResGuard [有源碼]
          Android版微信安裝包“減肥”實戰(zhàn)記錄
          iOS版微信安裝包“減肥”實戰(zhàn)記錄
          移動端IM實踐:iOS版微信界面卡頓監(jiān)測方案
          iOS端移動網(wǎng)絡調(diào)優(yōu)的8條建議
          微信“紅包照片”背后的技術難題
          移動端IM實踐:iOS版微信小視頻功能技術方案實錄
          移動端IM實踐:Android版微信如何大幅提升交互性能(一)
          移動端IM實踐:Android版微信如何大幅提升交互性能(二)
          移動端IM實踐:iOS版微信的多設備字體適配方案探討
          愛奇藝技術分享:愛奇藝Android客戶端啟動速度優(yōu)化實踐總結(jié)
          >> 更多同類文章 ……

          (本文同步發(fā)布于:http://www.52im.net/thread-2645-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)站導航:
           
          Jack Jiang的 Mail: jb2011@163.com, 聯(lián)系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 团风县| 绍兴市| 萨迦县| 林周县| 汨罗市| 拜泉县| 西宁市| 云霄县| 姚安县| 金昌市| 台中市| 海伦市| 徐州市| 朝阳县| 峡江县| 浦城县| 五莲县| 库伦旗| 台湾省| 阳东县| 黎川县| 印江| 龙陵县| 莆田市| 嘉义县| 那坡县| 永泰县| 华蓥市| 虹口区| 香格里拉县| 临邑县| 阿坝县| 永吉县| 政和县| 简阳市| 马龙县| 长宁县| 蓝山县| 曲水县| 汕尾市| 宜丰县|