浏览器解析介绍
浏览器的引擎主要是指JavaScript解析引擎与排版引擎,不同浏览器具有不同的引擎。主要的浏览器分为: IE, firefox, chrome, safari.
IE——Trident核心
排版引擎
Trident
JS引擎
排版引擎
Gecko
JS引擎
- 早期(1.0~3.0)SpiderMonkey:第一款JS引擎,由Brendan Eich在网景时编写。
- (3.5~3.6)TraceMonkey:基于即时编译的引擎,其中部份程式码取自Tamarin引擎。
- (4.0~至今)JagerMonkey:德文Jäger原意为猎人,结合追踪和组合码技术大幅提高效能,部分技术借凿了V8、JavaScriptCore、SquirrelFish。
Safari/Chrome—Webkit内核
排版引擎
- (早期SF)KHTML引擎
(也不知啥时候至今,SF/GG均采用)WebCore引擎,由KHTML引擎衍生成WEBKIT自己构建的排版引擎
JS引擎
(早期SF)KJS引擎
- (过后一段时间,SF采用)JavaScriptCore引擎
- (4.0至今,SF)Nitro引擎(原名:SquirrelFish)
- (GG)V8引擎:小熊认为V8是个好引擎,在JS执行效率上确实很强大。
Chrome—Blink
Blink是一个由Google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息。这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。
Opera——Presto核心
在google推出Blink内核之后,opera表示后续会基于blink开发。
排版引擎
- (早期4~6)Elektra引擎 , 再早点的资料(例如3.5)小熊没找到
(7+)Presto引擎:由Opera Software开发的浏览器排版引擎
JS引擎
(4.0~6.1)Linear A引擎
- (7.0~9.2)Linear B引擎
- (9.5~10.2)Futhark引擎
- (10.5+)Carakan引擎
排版引擎
排版引擎包含了dtd模式规则和css引擎等。
参考资料
原文: https://leohxj.gitbooks.io/front-end-database/content/theory/browser-engine.html