谷歌AMP和百度MIP,你选哪个?
點擊關注 InfoQ,置頂公眾號
接收程序員的技術早餐
作者|前端之巔
編輯|覃云
前端之巔
「前端之巔」是 InfoQ 旗下關注大前端技術的垂直社群。緊跟時代潮流,共享一線技術,歡迎關注。
寫在前面
21 世紀是互聯網時代,也是信息爆炸的時代,伴隨著生活節奏的加快,我們需要高效地篩選出有用信息,此時,信息加載的速度就顯得尤為重要。
有研究表明,一些加載緩慢的網頁更容易被用戶拋棄,網頁打開的速度關系到網站的流量,這些可從社交網站、搜索引擎和電商的數據看出來:Facebook 頁面加載速度每慢 500ms,用戶瀏覽量就下降 3%,Chrome 每慢 500ms,搜索量就下降 25%,Amazon 每慢 100ms,成單量就下降 1%。
為此,2016 年初,Facebook 發布即時文章,Google 發布 AMP,同年,百度發布了 MIP,這些技術都可以加快頁面加載速度,但是 Facebook 的即時文章與后兩者不同的是,它是 App 內嵌的頁面,只允許在 Facebook 軟件內使用,后兩者是完全基于瀏覽器,并在瀏覽器中渲染的。下文將只圍繞 AMP 和 MIP 進行討論。
AMP 和 MIP 是什么?
AMP 和 MIP 都是開源的,不管是從技術層面還是用途上來說,AMP 和 MIP 的區別都不大。
AMP(Accelerated Mobile Pages,加速移動頁面)是 Google 推出的一種為靜態內容構建 Web 頁面,提供可靠和快速的渲染,加快移動頁面加載的速度,提高用戶的瀏覽體驗。
MIP(Mobile Instant Pages,移動網頁加速器)是百度推出的一套應用于移動網頁的開放性技術標準,充分借鑒了 AMP,被很多開發者看作是國內版 AMP。
在使用手機瀏覽器搜索時,使用了 MIP 或 AMP 的網站在搜索結果中會顯示一個閃電的標志。
技術分析
AMP 和 MIP 都是由三個部分組成,前者由 AMP HTML、AMP runtime、AMP cache 組成,后者由 MIP-HTML、MIP-JS、MIP-Cache 組成。
在 AMP HTML 上,它只允許使用有限的標簽,如body、article這些標簽可直接使用,但如script、frame和frameset這樣的標簽是被限制或禁止使用的,MIP 中也如此。而如 img 或 video 這樣的標簽不能直接使用,需要替換成別的標簽才能使用,如在 AMP 中需要替換成amp-img,在mip中替換成mip-img。
AMP runtime 是完全用 JavaScript 來實現的,是由引入它的 AMP 文件來啟動的,它的主要作用是負責協調資源的加載時機和優先級,插入 AMP 組件,并為 AMP HTML 引入 runtime 驗證等調試功能。而 MIP-JS 用于管理資源的加載,并支持 MIP 標簽的使用,從而確保頁面快速的渲染。
AMP cache 提供了第三方的緩存,這樣從 Google 搜索進入 AMP 網頁就可以做到預加載甚至預渲染。AMP-Cache 給所有符合規范的 MIP 頁面提供 CDN 緩存服務,主動提高頁面的加載速度。
它們能帶來什么?
2017 年,百度給出了 MIP 對站點的收益數據,使用 MIP 技術網站,用戶到達率提升 5%-30%,頁面打開速度提升 30%-80%。
最重要的是,AMP 和 MIP 會影響搜索結果網站頁面的排名,雖然 Google 之前否認了 AMP 與此相關,但是百度卻正面回應了這個問題,他們認為 MIP 雖然不是排名的主要因素,但是由于 MIP 網站的打開速度較快,訪問量就增加,隨之,網站的權重就會提高,排名自然就上來了,但權重提高的具體數據,百度沒有給出。
AMP 和 MIP 面向哪些網站?
正如上文所說,AMP 和 MIP 最主要的目的是加快網頁速度,提升用戶體驗,那些依靠流量而生的媒體網站或者依靠導流變現的電商通過這樣的技術就能提高網站的留存率,而那些以推廣自己為目的小型企業或新創企業,使用 AMP 和 MIP 能夠提高搜索結果排名,換句話說,以往需要競價排名的網站,現在通過使用搜索引擎提供的技術就能達到在搜索頁面優先展示的目的。
百度為什么要自研 MIP?
既然 AMP 和 MIP 技術和功能上的相似性如此高,而且 AMP 又是開源的,為何百度不直接使用 AMP 而是自研 MIP 呢?
就這個問題,小編特意去采訪了百度的有關專家,得到的答案是:AMP 的一些資源,在國內無法穩定地訪問,雖然國內也有 Safari 和 Chrome 這樣的瀏覽器,但是國內 UC、QQ 等瀏覽器可能無法使用 AMP,從功能上來說,MIP 的規范以及提供的組件,更加適合中國的開發者和站長,比如浮動組件。另一方面,在效率上,AMP 所有的組件都需要在 github 上提交審核,整個過程很漫長,而 MIP 專門為國內開發者服務,提供了很多的快速通道。總而言之,他倆解決的問題是一樣的,但是 MIP 更加適用于中國的市場和用戶。
另外,去年 8 月 30 日,W3C 中國曾聯合百度舉辦了移動網頁加速技術研討會,研討會總結認為,有必要在 W3C 中啟動 MIP、AMP、Instant Article、云加速相關技術的標準化工作,包括如何在瀏覽器中預取 / 預渲染一個頁面,將預取 / 預渲染的頁面異步展現在當前瀏覽器環境,通過穩定、快速的 CDN 服務提供更快的頁面網絡環境。標準化將為內容站點和服務商提供統一的標準和接口來實現頁面加速技術,既改善開發者的開發環境,也提高用戶體驗,這對百度來說,不失為功德一件。
寫在最后
雖然,AMP 和 MIP 在功能和技術上都高度相似,但開發者要是想用這項技術開發網站,還是得做兩種不同的方案。就目前來說,由于一些眾所周知的原因,國內 Chrome 的用戶較少,百度占優勢,所以如果國內的開發者想嘗試這個技術,建議先從 MIP 入手,如果開發的網站面向國際,可優先考慮 AMP。
參考鏈接
AMP 文檔:https://www.ampproject.org/docs/
MIP 文檔:https://www.mipengine.org/doc/00-mip-101.html
總結
以上是生活随笔為你收集整理的谷歌AMP和百度MIP,你选哪个?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用jar命令将Web应用打包成war文件
- 下一篇: TCP/IP这本书讲TCP是从哪些方面保