簡要介紹主流瀏覽器的內核

1 想說的話

瀏覽器內核(browser kernel)是瀏覽器最爲核心的部分(OS:廢話)。國內的瀏覽器(諸如360,QQ,搜狗)大多數用了第三方的內核,不同的只是外觀以及一些裝飾性的功能罷了。(有些瀏覽器是雙核模式,標準模式下是chrome的內核,兼容模式下是IE的內核,用以向下兼容舊網頁,諸如360瀏覽器。)

瀏覽器內核可以分爲兩部分,一部分是渲染引擎(render engineer或layout engineer),方負責生成DOM樹,render,repaint這些工作;另一部分是JS引擎,負責JS的解釋執行。

IE8的JS引擎是Jscript,IE9開始採用Chakra,速度和標準化都比以前出色。

2 Trident ([‘traɪd(ə)nt])

Trident是IE的內核,也就是國內雙核瀏覽器的內核之一。Trident內核一直延續到IE11,IE11的後繼者Edge採用了新內核EdgeHTML。

3 Gecko ([‘gekəʊ])(開源)

Gecko是Netscape6Z開始採用的內核,是一個開源內核,後來被FF(FireFox)採用。

4 Webkit(開源)

Webkeit的鼻祖是Safari, 其前身是KDE(Linux的桌面系統)的KHTML(開源的)。Webkit也是開源的。

注意:Webkit其實包括是渲染引擎Webcore(前身是KHTML),以及JS引擎JSCore,

5 Chromium(Blink,V8)(開源)

chromium fork自webkit,代碼可讀性和編譯速度得到提升。值得一提是谷歌專門研發了自己的JS引擎——V8,極大地提高了JS的運算速度。由於chromium也是開源的,所以搜狗、QQ、360都用chromium內核。

自13年4月後,谷歌開始在Chromium項目中研發Blink渲染引擎,之前一直用的是Webkit的渲染引擎。之所以研發獨立的渲染引擎,是因爲蘋果推出的Webkit2與chromium的設計存在衝突,影響了chromium的架構移植工作。

6 Presto ([‘prestəʊ]) -》Chromium

自Opera7.0開始使用。13年2月後爲了減少研發成本,放棄Presto,採用chromium,之後也緊跟Blink的腳步。

7 總結

IE:Trident(IE8->IE8:Jscript->Chakra)

Edge:EdgeHTML

FF:Gecko

Safari:KHTML->Webkit(WebCore+JSCore)->Webkit2

Chrome:Webkit->Chromium(V8)->Chromium(Blink+V8)

Opera:Presto->Chromium(V8)->Chromium(Blink+V8)

reference:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章