浏览器内核——最核心部分 Rendering Engine 渲染引擎(也成为排版引擎或解析引擎) + JS引擎。
渲染引擎 负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。。渲染引擎决定了浏览器如何显示网页内容及页面格式信息,不同的浏览器内核对网页编写语法的解析不同,因此同一网页在不同内核的浏览器下显示的效果可能不同。这也就是开发者需要兼容不同内核浏览器网页显示的原因。
JS引擎 负责对js的渲染,一个js引擎的好坏决定了浏览器对脚本的加载和执行速度,也就影响了其跑分。
一、常见的渲染引擎
—— Trident 、 Gecko、 WebKit、Chromium/Blink、Presto
1、Trident ['traɪd(ə)nt] (IE内核)
该内核在1997年的IE4中首次被采用,一直沿用的IE11,因此该内核也普遍被称为IE内核。Win10发布后,IE 将其内置浏览器命名为Edge,采用新内核Edge HTML
2、Gecko ['ɡekoʊ]
Netscape6启用的内核,后来Mozila Firefox 也采用该内核。
3、WebKit (Safari内核,Chrome内核原型)
WebKit 是苹果公司自主研发的内核,也是Safari浏览器使用的内核。 WebKit 引擎包含渲染引擎WebCore和JS引擎JSCore 。均是从KDE的KHTML及KJS引擎衍生来的。当年苹果在比较了Gecko和KHTML后,选择了KHTML,因其具有清晰的源码结构和极快的渲染速度。
4、Chromium/Blink
2008年谷歌发布了Chrome浏览器,该浏览器使用的内核为Chromium 。Chromium 使用苹果公司的WebKit作为浏览器内核原型,Chromium引擎虽然是属于WebKit的分支,却把WebKit 代码梳理的可读性提高很多,之前可能需要一天编译的代码,现在两个小时就能搞定。然而。在2013年,Chrome放弃Chromium引擎转而使用最新的Blink引擎(基于WebKit2——苹果公司于2010年推出的新的WebKit引擎),Blink对比Chromium引擎精简了代码,改善了DOM框架,也提升了安全性。
5、Presto
Opera7.0以后版本的内核。2013年2月13日,Opera Software宣布未来产品将以Webkit和V8为主,逐步放弃使用基于Presto引擎的产品
二、Javascript引擎
用来渲染JS的,JS引擎涉及跑分。通常我们说的浏览器速度快,其实大部分指的就是JS渲染速度,而不是页面载入速度。JavaScript的渲染速度越快,动态页面的展示也越快。Opera在JavaScript引擎的跑分上面一直都是很牛逼的,一般来说最新测试版之间PK,Opera基本都会夺冠。
1、Chakra
查克拉,IE9启用的新的JavaScript引擎。
2、SpiderMonkey/TraceMonkey/JaegerMonkey
SpiderMonkey应用在Mozilla Firefox 1.0-3.0,TraceMonkey应用在Mozilla Firefox 3.5-3.6版本,JaegerMonkey应用在Mozilla Firefox 4.0及后续的版本。
3、V8
应用于Chrome、傲游3。
4、Nitro
应用于Safari 4及后续的版本。
5、Linear A/Linear B/Futhark/Carakan
Linear A应用于Opera 4.0-6.1版本,Linear B应用于Opera 7.0~9.2版本,Futhark应用于Opera 9.5-10.2版本,Carakan应用于Opera 10.5及后续的版本。
6、KJS
KHTML对应的JavaScript引擎。
三、移动端
移动端的浏览器内核主要指系统内置浏览器内核。
目前移动设备常用的内核有WebKit、Blink、Trident、Gecko等。
iphone和Ipad等苹果IOS系统主要是WebKit
Android 4.4之前的主要是WebKit
Android 4.4系统原本基于Android WebKit 的WebView实现被换成基于Chromium实现,内部渲染引擎改为Blink/Content内核引擎
参考链接: