1. 程式人生 > >谷歌AMP和百度MIP是什麽鬼?

谷歌AMP和百度MIP是什麽鬼?

展示 rip page 百度 span pan 環境 font rms

首先我們來看定義:

谷歌AMPAccelerated Mobile Pages,加速移動頁面)是Google推出的一種為靜態內容構建 web 頁面,提供可靠和快速的渲染,加快頁面加載的時間,特別是在移動 Web 端查看內容的時間。

百度MIP Mobile Instant Pages - 移動網頁加速器), 是一套應用於移動網頁的開放性技術標準。通過提供MIP-HTML規範、MIP-JS運行環境以及MIP-Cache頁面緩存系統,實現移動網頁加速。

看起來兩者的定義很相似,一個叫加速移動頁面,一個叫移動網頁加速器,實現目的也是相同的——優化移動網頁。WTF,不會是一個東西吧。當然不是一個東西,但是不過只是老壇酸菜面和康師傅牛肉面的不同而已。兩者都是方便面,主要原材料相同,配方有點不同,制作的方式有點差別,最重要的是代言人不同。

移動網頁加速最早是谷歌提出來的,通過制定開源標準,制定頁面規範,優化渲染速度來提高用戶體驗,並且谷歌會搜索引擎中,對符合AMP標準頁面增加權重。百度堅持谷歌有我也要有的原則,充分借鑒了AMP,也提出了自己的網頁加速開源標準,於是MIP誕生了。

MIP無論是目的(在搜索結果中返回極快速移動頁面),還是原理(簡化HTMLCSS、禁用大部分JS、資源控制、緩存等,還是推出步驟(先新聞,再一般頁面),還有原頁面與MIP頁面的互相引用方法(加標簽),都和Google AMP一樣,連官網的頁面布局、菜單安排、技術說明裏的內容,幾乎都是一樣的。就連在對應搜索引擎上展示的標識幾乎也是一模一樣的:

技術分享技術分享

這裏不得不佩服國人的借鑒能力。

頁面優化原理

AMPMIP都是本質上都是通過優化頁面渲染或者延遲加載,減少阻塞的原理來實現頁面的加速。就像我們企業內部的一些規範一樣,我們可能也有一套標準來提高我們的代碼質量和頁面性能。只不過這兩個能夠給我們帶來SEO的優化。下面,我們就一MIP為例,了解一下她加速的原理。

MIP主要由三部分組織成:

MIP HTML

MIP JS

MIP Cache

MIP HTML 基於HTML中的基礎標簽制定了全新的規範,通過對一部分基礎標簽的使用限制或功能擴展,使HTML能夠展現更加豐富的內容;MIP JS 可以保證 MIP HTML 頁面的快速渲染;MIP Cache 用於實現MIP頁面的高速緩存,從而進一步提高頁面性能。

下面將介紹MIP頁面的加速原理:

經過精心設計的javascript

MIP不允許用戶自定義JavaScript,需要用MIP 組件的形式引進來,從而確保安全性和性能表現

所有靜態資源需要標明尺寸

MIP要求將所有的資源(廣告、圖片、音頻和視頻)標明尺寸。當資源真正加載時,所有資源大小可以被立即推斷出並迅速的用於計算頁面布局,加載中的資源將無縫呈現,不必因為頁面頻繁更新布局而影響到用戶的閱讀體驗。

不允許任何機制阻止頁面渲染

開發者的任何自定義腳本,都需要用MIPtag反饋給MIP,例如mip-admip-iframe等,這些方式不會阻塞頁面的layout和渲染。

控制外部資源加載

MIP runtime會控制外部資源的額加載來確保其高效性,從而使用戶想閱讀的內容盡快出現在屏幕中。

封裝交互功能

MIP提倡網頁能給用戶直接簡單的體驗,但這並不意味著MIP限制了頁面的生動和有趣。MIP runtime提供了高度優化的被封裝的JavaScript,開發者無需投入過多精力去實現復雜的交互功能。

建議使用inlinecss

css的加載,會阻止頁面的渲染,css內聯可以減少客戶端的開銷。

只允許GPU加速的動畫

MIP只允許用transformsopacity來完成動畫效果,當動畫能在GPU上執行時,僅觸發渲染層合並。

MIP 緩存

MIP另一個重要的意義在於能夠幫站長加速網頁,百度將會把MIP網頁緩存到百度CDN中。只要符合MIP標準,都可以使用MIP緩存。

這些都是我們在優化web項目中經常用到的手段而已,只不過現在百度通過開源標準,並且給予SEO的甜頭,給予統一規範。

谷歌AMP和百度MIP的看法

AMPMIP提供的移動網頁優化方案在一定程度上能夠提高用戶的體驗。同時與seo的結合,也提高了很多開發者加入的興趣。但是,由於比較封閉的環境,這套標準無法應用於大型的項目,只能應用於比較簡單的頁面展示,當然,這個與他們的初衷是一致的。

AMPMIP是兩套不同的標準,為了支持谷歌和百度兩套搜索引擎的優化,必須寫兩套頁面,這會增加開發者的開發成本。

在未來,我個人認為,兩家的標準會趨向統一,百度估計會支持AMP標準,畢竟谷歌是站在全球的角度上的,百度只在中國的用戶比較多。

谷歌AMP和百度MIP是什麽鬼?