ECMAScript前者-浏览器内核

一、定义:
  网页浏览器的排版引擎(Layout Engine或Rendering Engine)也让称作浏览器内核页面渲染引擎模板引擎,它当取网页的情(HTML、XML、图像等等)、整理消息(例如在CSS等),以及计算网页的显示方式,然后会输出到显示器要打印机。所有网页浏览器、电子邮件客户端与任何得依据表示性的号子语言(Presentational markup)来展示内容之应用程序都需排版引擎。

  浏览器内核分成两组成部分渲染引擎以及js引擎,由于js引擎越来越独立,本就支持被仅仅靠渲染引擎

老二、渲染引擎:

现今紧要的季良排版引擎也:

Trident(应用于Internet Explorer);

Gecko(应用于Mozilla Firefox);

Blink(应用于Chrome );

WebKit (应用叫Apple Safari和首版本的Google Chrome)。

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

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

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

内核 是否开源 插件支持 应用浏览器 支持操作系统
Trident 否,但提供接口调用 ActiveX IE Windows
Gecko 是,多种协议授权发行,包括MPL、GPL、LGPL NPAPI Firefox Windows,Mac,Linux/BSD
Blink NPAPI Chrome,Opera Windows,Mac,Linux/BSD
Webkit 是,遵从LGPL协议 NPAPI Chrome,Safar Windows,Mac,Linux/BSD

1、Trident(Windows)

  Trident 就是享誉的 IE浏览器
所使用的木本,也是不少浏览器所采取的内核,通常被名IE内核。基于Trident内核的浏览器非常多,这是因Trident内核提供了丰富的调用接口。老的Trident内核(比如常说之IE6内核)一直是未随W3C标准的,但是由于当下IE6的市场份额最酷,所以究竟便是大方的网页专门为IE6等老Trident内审查编,在IE6下显得大正常,但骨子里这些网页的代码并无称W3C标准,于是,完全依据W3C标准写的网页在一味的Trident内按下面又并发谬误,这就是是怎么许多人觉得后来底IE9的网页排版有时见面乱了,而IE6则正常,其实不是浏览器兼容性差了,而是你拜的网页不适合新的业内。目前不过供应调用的新星版本的Trident内核是IE9所用的木本,相较之前的本子对W3C标准的支持提高了广大。 

  Trident内核的广泛浏览器有: IE6、IE7、IE8(Trident
4.0)、IE9(Trident 5.0)、IE10(Trident 6.0); 

  世界之窗、
360平安浏览器、傲游;搜狗浏览器;腾讯TT;阿云浏览器(早期版本)、百度浏览器(早期版本)、瑞星安全浏览器、Slim
Browser; GreenBrowser、爱帆浏览器(12
之前版本)、115浏览器、155浏览器;
闪游浏览器、N氧化碳浏览器、糖果浏览器、彩虹浏览器、瑞影浏览器、勇者无疆浏览器、114浏览器、蚂蚁浏览器、飞腾浏览器、速达浏览器、佐罗浏览器; 

  其中一些浏览器的初本子是“双复核”甚至是“多按”,其中一个水源是Trident,然后再度充实一个别基本。国内的厂商一般将任何基本叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可来回切换。 

2、Gecko(跨平台) 

  Netscape6
启用的基本,现在重大出于Mozilla基金会展开维护,是开源之浏览器内核,目前极端主流的Gecko内核浏览器是Mozilla
Firefox,所以呢时不时叫火狐内核。因为Firefox的面世,IE的霸主地位日益为弱化,Chrome的起则是加快了之历程。非Trident内核的兴起在改变着漫天互联网,最直接的就是是推了编码的原则,也叫微软于竞争压力下不得不改进IE。不过比较心疼的是,虽然是开源的,也支付了这么长年累月,基于Gecko的浏览器并无多见,除了有的简单的改观(坑爹的X浏览器)或者是还编译(绫川ayakawa、tete009),深度定制或者增强型外壳的尚比较少见。另外即使是生部分任何软件借用了Gecko内核,比如音乐管理软件SongBird。常见的Gecko内核的浏览器:Mozilla
Firefox、Mozilla
SeaMonkey、Epiphany(早期版本)、Flock(早期版本)、K-Meleon 

3、KHTML(Linux) 

KDE开发的本,速度迅猛,容错度低。这个根本可能无显现得过多总人口领略,但是后面更拘留下来你就是理解了。常见的KHTML内核的浏览器:Konqueror 

4、WebKit(跨平台) 

  由KHTML发展要来,也是苹果被开源世界之一模一样充分贡献。是时极火热之浏览器内核,火热倒不是说市场份额,而是使用之面积与方向。因为凡脱胎于KHTML,所以也是富有高效的风味,同样仍W3C标准。从即总的来说,WebKit
内核是极度有潜力而且是已发出相当成的新兴内核,性能好好,而且针对性W3C标准的支撑好完美。 当前发展势头最精的WebKit内核,常见的WebKit内核的浏览器:Apple
Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器,

5、Chromium(跨平台) 

  其实 Chromium 就是
WebKit,维基百科里面连无以Chromium从WebKit分出去,这个分了是根据自己个人的恶趣味。记得以前看了一个大牛的博文说了,Chromium把WebKit的代码梳理得可读性提高广大,所以先可能得一致龙开展编译的代码,现在要简单独小时就可知搞定。这个自好吗不曾考证过,但是量可信。这个邪会讲为什么Gecko和WebKit出来了这般绵长,第三正在编译、定制的本子并无多,但是出于Chromium衍生出来的浏览器都满坑满谷了。 常见的Chromium内核的浏览器:Google
Chrome、Chromium、SRWare Iron、Comodo Dragon 

6、Presto(跨平台) 

  Opera 所采取的内核,准确地游说,是Opera 7.0暨之后版本的本,Opera
3.5-6.1本采用的基础叫做Elektra。不用说,Presto对W3C标准的支撑也是格外优秀的。虽然自己杀欣赏Opera,但是自对Presto的渲染速度一直闹保留态度。之前在OperaChina论坛看见有人说罢,Presto优先解析文字,保证可阅读性,媒体资源的渲染放后。常见的Presto内核的浏览器:Opera 

7、Blink(跨平台)

  Blink是一个出于Google和Opera Software开发之浏览器排版引擎,Google计划将此渲染引擎作为Chromium计划之同一有些,并且于2013年4月之下公布了立无异于音讯[1]。这同样渲染引擎是开源引擎WebKit中WebCore组件的一个旁[2],并且于Chrome(28暨向后本)、Opera(15及为后版)和Yandex浏览器被使[3] 。 

 

三、js引擎:

  JavaScript引擎就是故来实施JS代码的。譬如说,一个总算圆周率的网页,排版引擎将页面的框架为显示出来了,但最终之结果待用到
Javascript
来计算,所以Javascript引擎的速也是针对性总体网页的快慢有所特别老影响,特别是当下益多类似
WebQQ、Gmail 等大量动了复杂的 Javascript
运算的网站,不同的引擎最终之进度差异会相当可怜。 

     
第一款JavaScript引擎由布兰登·艾克以网景公司支付,用于Netscape Navigator网页浏览器中。引擎的讳称为SpiderMonkey,由C实现。它自JavaScript 1.5提升为符合ECMA-262 版本3。Rhino引擎,由网景公司之Norris Boyd开发,由Java实现。像SpiderMonkey一样,Rhino符合ECMA-262 版本3。JavaScript引擎的运例子还包: Apple Safari 4的Nitro,Google Chrome的V8和 Mozilla Firefox 3.5之TraceMonkey。

第一的网页浏览器JavaScript引擎:

Mozilla

SpiderMonkey,第一款JavaScript引擎,由Brendan Eich在Netscape Communications时编写,用于Mozilla Firefox 1.0~3.0版本。

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

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

JaegerMonkey,德文Jäger原意为猎人,结合追踪和组合码技术大幅提高性能,部分技术借打了V8、JavaScriptCore、WebKit,用于Mozilla Firefox 4.0之上版本。

IonMonkey,可以针对JavaScript编译后底结果进行优化,用于Mozilla Firefox 18.0上述版本。

OdinMonkey,可以针对asm.js进行优化,用于Mozilla Firefox 22.0上述版本。

Google

V8,开放源代码,由Google丹麦出,是Google Chrome的等同有。

微软

Chakra (JScript引擎),中文译名为查克拉,用于Internet Explorer 9的32位本[1]及Internet Explorer 10。

Opera

Linear A,用于Opera 4.0~6.1版本。

Linear B,用于Opera 7.0~9.2版本。

Futhark,用于Opera 9.5~10.2版本。

Carakan,由Opera软件公司编写,自Opera10.50本子开始动。

其它

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

Narcissus,开放源代码,由Brendan Eich编写(他吗介入编辑了第一只SpiderMonkey)。

Tamarin,由Adobe Labs编写,Flash Player 9所运用的发动机。

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

注:老版本IE使用Jscript引擎

IE9之后采用Chakra引擎

edge浏览器还是使用Chakra引擎

firefox使用monkey系列发动机

safari使用的SquirrelFish系列引擎

Opera使用Carakan引擎

chrome使用V8引擎。nodeJs其实就是包装了V8引擎