天天看点

浏览器内核、渲染引擎和js引擎的关系

浏览器内核又可以分成两部分:渲染引擎(layout engineer或者RenderingEngine)和JS引擎。

渲染引擎功能作用

       渲染引擎,负责对网页语法的解释(如HTML、JavaScript)并渲染网页。所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

浏览器内核、渲染引擎和js引擎的关系

当前主流渲染引擎内核:

firefox使用gecko引擎

    IE使用Trident引擎

    2015年微软推出自己新的浏览器,原名叫斯巴达,后改名edge,使用edge引擎

    opera最早使用Presto引擎,后来弃用

    chrome\safari\opera使用webkit引擎

    13年chrome和opera开始使用Blink引擎

JS引擎功能作用

      最开始渲染引擎和js引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。JavaScript最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。以它为基础,制定了ECMAScript标准。javascript在浏览器的实现中还必须含有DOM和BOM。Web浏览器一般使用公共 API来创建主机对象来负责将DOM对象反射进JavaScript。JS引擎负责对JavaScript进行解释、编译和执行,以使网页达到一些动态的效果。

主要的网页浏览器JavaScript引擎:

1) Mozilla

·        Rhino,由Mozilla基金会管理,开放源代码,完全以Java编写。

·        SpiderMonkey,第一款JavaScript引擎,由BrendanEich在NetscapeCommunications时编写,用于Mozilla Firefox1.0~3.0版本。

·        TraceMonkey,基于实时编译的引擎,其中部份代码取自Tamarin引擎,用于 Mozilla Firefox 3.5~3.6版本。

·        JägerMonkey,(JägerMonkey,也有人拼写成JagerMonkey)德文Jäger原意为猎人,结合追踪和组合码技术大幅提高效能,部分技术借凿了V8、JavaScriptCore、WebKit,用于Mozilla Firefox 4.0以上版本。

2)Google

·        V8,开放源代码,由Google丹麦开发,是Google Chrome的一部分。

3)微软

·        Chakra,中文译名为查克拉,用于Internet Explorer 9。

·         JScript 是由微软公司开发的活动脚本语言,是微软对ECMAScript规范的实现.IE 3.0-IE8.0使用的JS引擎

4)其它

o   KJS,KDE的ECMAScript/JavaScript引擎,最初由Harri Porten开发,用于KDE项目的 Konqueror网页浏览器中。

o   Narcissus,开放源代码,由BrendanEich编写(他也参与编写了第一个SpiderMonkey)。

o   Tamarin,由AdobeLabs编写,Flash Player 9所使用的引擎。

o   Nitro(原名SquirrelFish),为Safari 4编写。

o   Carakan,由Opera软件公司编写,自Opera10.50版本开始使用。