简要介绍主流浏览器的内核

来源:互联网 发布:garbageband知乎 编辑:程序博客网 时间:2024/05/17 23:41

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:

  • 主流浏览器内核介绍(前端开发值得了解的浏览器内核历史)
原创粉丝点击