各瀏覽器內核彙總

查看內核以及相關信息方法:在瀏覽器中打開控制檯,輸入"navigator.appVersion"。假如是chrome,能夠在地址欄輸入"chrome://version"。

瀏覽器內核 = 渲染引擎 + 腳本解析引擎 + 其餘引擎 + 相關組件前端

因爲腳本基本上只有JS,因此腳本引擎也叫JS引擎,即JS引擎 = 腳本引擎chrome

下文如無特殊說明,內核泛指渲染引擎。windows

目前市場上的瀏覽器內核有10+種,現主要介紹常見的四種。瀏覽器

一、Trident(大名鼎鼎的IE)安全

二、Gecko(曾經前端開發工程師最喜歡的Firefox)app

三、Presto(曾經最快的瀏覽器Opera)ide

四、Webkit(巨頭google的Chrome和壟斷Apple的Safari)測試

五、Chromium/Bink(使Chrome的崛起,使Opera背叛)優化

瀏覽器ui

內核

UC瀏覽器

Blink+Trident

2345瀏覽器、騰訊TT、淘寶瀏覽器、搜狗高速瀏覽器

1.x爲Trident,2.0及之後版本爲Trident+Webkit

360安全瀏覽器

1.0-5.0爲Trident,6.0爲Trident+Webkit,7.0爲Trident+Blink

360極速瀏覽器

7.5以前爲Trident+Webkit,7.5爲Trident+Blink

傲遊瀏覽器

1.x、2.x爲Trident,3.x爲Trident+Webkit

百度瀏覽器(早期版本)、世界之窗瀏覽器

最初爲Trident,2013年採用Trident+Webkit

阿雲瀏覽器(早期版本)、瑞星安全瀏覽器
閃遊瀏覽器、海豚瀏覽器、UC瀏覽器

Blink+Trident

獵豹安全瀏覽器

1.0-4.2版本爲Trident+Webkit,4.3版本爲Trident+Blink

·       Trident

1997年10月在IE4中首次使用,IE5.五、IE六、IE七、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0)。

Trident(又稱爲MSHTML),是微軟開發的一種排版引擎,從"馬賽克"(Mosaic——人類歷史上第一個瀏覽器)修改而來。Trident II(IE5)——增進對CSS1.0的支持及對CSS2重大的變動
Trident III(IE5.5)——修正部分CSS的排版控制
Trident IV(IE6)——修正了一部分box-model的錯誤以及增長了「兼容模式(Quirks Mode)」切換功能,以增長對文件類型描述(Document Type Definition,DTD)的支持
Trident V(IE7)——修正許多CSS排版處理上的錯誤以及增長對PNG格式alpha通道(半透明)的支持

從windows 95 ~ windows XP都是IE一家獨大,微軟並無注重Trident內核的更新,致使幾乎與W3C標準脫節(2005年)並涌現大量的bug和安全性問題沒有獲得及時的修復,這時候FireFox和Opera來了~~~

後續:IE8的JS引擎是Jscript,IE9開始使用Chakra,IE11開始支持WebGL技術。win10內置的Edge瀏覽器使用新內核EdgeHTML。

·       Gecko

Netscape 6~8以及FireFox使用的內核,從2005年開始市場佔用率迅速提升(和IE的不更新密切相關),當時由微軟的一些內部員工與中止更新的Netscape一些員工一塊兒創辦Mozilla,開發出Gecko。其特色是代碼徹底公開,跨平臺(windows、BSD、Linux、Unix、Mac OS X)。

·       Presto

IE驕傲,FireFox來了,Opera也來了,挪威產的Opera,犧牲網頁的兼容性把渲染速度的優化達到了極致,曾經(2013年2月前)一度是最快的瀏覽器。爲了減小研發成本,Opera在2013年2月宣佈放棄Presto(Opera12.17版本以後的版本將使用新的內核),轉而跟Chrome使用Chromium,以後一直緊跟chrome的腳步。因此,Presto內核永遠停留在了Opera12.17版本。

·       Webkit

Chrome將Webkit深刻人心啊,哈哈,然而,Webkit的鼻祖是Safari。一開始Safari使用KDE(Linux桌面系統)的KHTML引擎做爲瀏覽器內核,Apple對比了Gecko和KHTML以後毅然選擇了KHTML,開發出Webkit(Webkit能夠說是KHTML的一個開源分支),2003年1月7日發行測試版本。必須吐槽一句,Webkit內核的開發能夠說是以硬件盈利爲主的蘋果公司對軟件行業的最大貢獻之一。

後續:2008年Chrome瀏覽器發佈,開始使用chromium引擎(fork自Webkit)。因此,Webkit和Chromium/Bink都算是KHTML的分支。

·       Chromium/Bink

chromium是fork Webkit,谷歌公司通過梳理和改進後產生的,跟隨2008年Chrome(28版本)的發佈一塊兒誕生。隨後,使用Webkit內核的瀏覽器都轉換爲chromium(Safari除外)。2013年4月3日谷歌公開發表博客稱與Webkit分道揚鑣,在chromium中研發Blink渲染引擎,Blink其實也是Webkit的分支(如同Webkit是KHTML的分支同樣)。以前谷歌一直是使用Webkit內核以及Webkit內核中的WebCore渲染引擎,可是在評估推出Webkit2之後,渲染引擎與chromium的沙箱設計存在衝突,如需兼容將大大增長了chromium的複雜性,因此,決定開發Blink引擎(由Google和Opera共同研發),聽說Blink刪除了880萬行Webkit的代碼,改進程度至關於重構。

移動端

移動端的瀏覽器內核主要指的是系統內置的瀏覽器內核,IOS系統是Webkit內核,Android 4.4 以前是Webkit內核,Android 4.4(含)是chromium+Blink,Windows Phone 8 是Trident內核。

 

QAQ

一、KHTML和Webkit和chromium和Blink和V8引擎是什麼關係?

答:KHTML是KDE的渲染引擎,被蘋果公司使用到瀏覽器中。Webkit(泛指Webkit的渲染引擎WebCore)是KHTML的分支,Webkit的JS引擎是JSCore(JSCore是KJS的分支),Google後來開發了V8做爲JS引擎代替了JSCore。chromium是一個項目(和Webkit是同一級別),至關於一個內核項目,包括渲染引擎、腳本引擎以及其餘引擎。Blink是Webkit的分支,是一個渲染引擎,Google開發,用來代替WebCore。因此總結一下,Webkit和chromium是內核,KHTML、WebCore、Blink是渲染引擎,KJS、JSCore、V8是JS引擎。chrome用是的Blink+V8,Safari用是的WebCore+JSCore。

相關文章
相關標籤/搜索