天天看點

用戶端浏覽器相容性探讨

全球五大核心提供商

核心 代表浏覽器 是否更新狀态
Blink Chrome
Webkit Safari
Gecko Firefox
Presto Opera
Trident IE 極緩

核心及浏覽器介紹

Blink是基于webkit再開發的核心,也是公認的最強浏覽器核心,相對于原有的webkit它的優勢也級為明顯

  • 簡潔:對引擎内部而言,未添加多餘的解釋,對前沿及時的接受和版本疊代速度最快
  • 穩定:對應代碼解譯,很少會遇到其崩潰或者跑偏的情況
  • 可擴充性高:這方面主要展現在插件上,提供了很多人性化的定制接口

Ubuntu是一個老牌浏覽器核心,開發程度高切非常穩定,可以說Ubuntu是最穩定的核心,但相對來說Ubuntu對于複雜網頁的加載有效率問題

Webkit被應用在許多浏覽器上,其中最為出色的就是Safari,畢竟是原廠打造,安全穩定,但其主要功能集中在mac上,不受IE、Firefox等核心的限制,也就是說,不考慮其他浏覽器限制、解譯,較為獨立,而其他浏覽器廠商如果內建webkit引擎時,或多或少都會有功能缺失問題,使用起來極為不便

Trident核心主要使用在我們在WIndows系統中的IE浏覽器中,由windwos系統捆綁銷售

Presto核心特點就是渲染速度的優化達到了極緻,然而代價是犧牲了網頁的相容性,目前由于市場選擇問題,PC端Presto已廢棄,僅存于市場上在的應用隻在部分手機平台上

其他浏覽器

除以上各大核心廠商提供給的浏覽器外,還要很多有不是市場占有率的浏覽器,首先按照市場規律來看最常用的核心就是Webkit。

Blink是從 WebKit 直接複制出一個版本出來,然後将與chromium 無關的 Ports 全部移除掉,将代碼結構重新整理,就目前而言,很多Blink 的渲染和WebKit 是一樣,但是,以後兩者将各自走不同的路(WebKit當年也是以同樣的方式來從KHTML中複制出來)BLINK核心就是谷歌公司,針對WEBKIT核心,做的修訂和精簡。去掉了幾十萬行的沒用的複雜代碼,讓效率更高。然後針對未來的網頁格式,做了進一步優化,和效率提升的處理。是以BLINK核心可以看成是WEBKIT的精簡高效強化版。

Blink不再是WebKit

目前市場占有率接近一半的Chrome浏覽器指的是Chromium穩定版,而類似360和QQ這樣的浏覽器也是基于Chromium的再開發。這裡特别備注下微軟最新版本的Edge同樣基于Chromium,同樣未來兩者很可能各自走不同的路。

相容性優先級

就目前市場占有率的情況來看應該優先支援Chromium(Chrome浏覽器,Blink核心),Chrome也是開發人員在開發時被要求使用的浏覽器,而對于360、QQ這樣的多核浏覽器,在架構制定時,添加預設解譯核心meta标簽,盡可能的使用Blink核心(webkit核心);

對于Webkit、Gecko核心的浏覽器(Safari、firefox)充分考慮任務相容問題,對開發人員明确提出開發時需要的相容性,如果在開發中發現部分功能無法同時滿足,就相容性方面需要與PD、UED、測試溝通商議解決方案(Safari需mac裝置);

對于360、QQ這樣在浏覽器解譯上進行了部分修改,無法完全相容的情況,需測試人員在測試中提出,并根據任務量疊代安排;

對于Presto、Trident不建議考慮相容問題,Opera已經放棄Presto核心,而根據微軟的官方說法,“Microsoft 建議使用 Microsoft Edge 作為預設浏覽器并且支援 Internet Explorer 11 實作後向相容性”