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: