浏览器组成可分两部分:Shell+内核。浏览器内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。
渲染引擎,负责对网页语法的解释(如HTML、JavaScript)并渲染网页。 所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。JS引擎负责对JavaScript进行解释、编译和执行,以使网页达到一些动态的效果。
一、渲染引擎
浏览器最重要或者说核心的部分是“渲染引擎”(Rendering Engine),不过我们一般习惯将之称为“浏览器内核”。 当前主流四大引擎内核:Trident,Gecko,Presto,Webkit
Trident(IE内核)
Gecko(Firefox内核)
Presto(Opera前内核) (已废弃),Opera现已改用Google Chrome的Blink内核。
Webkit(Safari内核,Chrome内核原型,开源):它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。
Google Chrome、360极速浏览器以及搜狗高速浏览器高速模式也使用Webkit作为内核(在脚本理解方面,Chrome使用自己研发的V8引擎)
Blink是一个由Google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息。这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。
二、JS引擎
不同浏览器有不同的JS引擎:
WebKit , Safari浏览器 SquirrelFish Extreme,
Firefox TraceMonkey引擎
Google Chrome V8引擎,(C++)
Opera Carakan
Mozilla SpiderMonkey(C语言)、Rhino( Java)、 JaegerMonkey
V8 是 Google 发布的开源 JavaScript 引擎,采用 C++ 编写,在 Google 的 Chrome 浏览器中被使用。V8 引擎可以独立运行,也可以用来嵌入到 C++ 应用程序中执行。
SpiderMonkey是Mozilla项目的一部分,是一个用C语言实现的JavaScript脚本引擎,另外还有一个叫做Rhino的Java版 本。
TraceMonkey是套开放源代码、以C++语言所编写的新一代JavaScript引擎,于2008年8月23日正式发布。为Mozilla的Firefox网页浏览器3.5、3.6版本所使用。
WebKit是开源的Web浏览器引擎,苹果的Safari、谷歌的Chrome浏览器都是基于这个框架来开发的。WebKit 还支持移动设备和手机,包括iPhone和Android手机都是使用WebKit做为浏览器的核心。
webkit css 参考手册:http://ued.ctrip.com/webkitcss/index.html