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: