浏览器有哪些内核引擎?

JavaScript012

浏览器有哪些内核引擎?,第1张

目前浏览器主要有3大引擎

trident内核,微软开发,windows自带。目前大部分国产浏览器都基于ie,比如360什么的。ie调用简单,开发基于ie的浏览器几乎没有技术含量,因此360什么的浏览器速度缓慢,兼容差(尽管360把自己的浏览器宣传成世界第一的样子,360虽然也用chromium内核,但用的内核版本比chrome官方版差了5代,所以不值得一论)因此没有专业人员会用360。

chrome使用webkit,谷歌开发,google chrome使用的开源内核。edge等国外浏览器很多基于它,chrome速度快,网页兼容性略高于ie,但由于内存占用庞大,js引擎比较垃圾。

firefox使用gecko,火狐基金会开发的开源浏览器,有时速度比chrome慢一点,但js引擎性能优越,总体来讲和chrome相当。

综合形内核

svm内核,国际软件分享组织近几年开发的开源浏览器内核,被sws浏览器使用。它是一款争议十分大的浏览器内核,它使用了geeko的js引擎,chrome的网页渲染,ie的代码解析,融合了各自的优点,因此速度十分快,兼容性超好。但是它调用复杂,代码繁琐,可移植性一般,很难封装,国际软件分享组织甚至还因此开发了sws语言以串通内核各个部分,但用户不必管软件是这么被开发出来的,用户只需要管使用,而sws浏览器正是拥有了用户期望的功能,因此小编特别推荐使用svm内核的sws浏览器。

uc内核,uc号称独立开发的内核,笔者感觉非常垃圾,uc内核号称融合了几大浏览器内核,但由于不开源没人有证据,笔者不喜欢uc是因为他广告多,推送多,电脑版性能也一般。

opera,现在已经改用chrome了,笔者不做分析。

浏览器引擎分为排版引擎和Js引擎两种。js引擎就是解释执行javascript的,而排版引擎就是执行html、css来渲染页面的。浏览器内核指的是这两者。

IE 11 支持WebGL技术

IE 8 javascript引擎 Jscript

IE 9 javascript引擎 Chakra

WebGL :

WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了。

OpenGL ES:

OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计

Netscape 6、Firefox 采用的内核,由部分不满意微软IE没有使用w3c标准的开发者和停止更新的Netscape的部分员工共同创办Mozilla,以Mosaic为基础开发的浏览器内核

Gecko的javascript引擎是spiderMonkey

presto是Opera的前身内核,特点是速度快,但牺牲了兼容性。目前Opera采用google chrome的blink内核

苹果在比较了KHTML和Gecko后,选择了前者,延生出了WebKit。WebKit包含WebCore和JsCore,WebCore由KHTML发展来,KJs发展成了JsCore。

google chrome也使用了webkit内核,但后来google升级JsCore引擎为V8引擎;

之后苹果在WebKit的基础上发展了WebKit2;而Google在WebKit的基础上发展了Blink,并改用Blink

Google 在 Google Chrome/Chromium 中使用基于 WebKit 的 fork Web 渲染引擎:Blink。同时 Opera 也将跟进 Google Chrome/Chromium 的步伐。

(1)[排版引擎]: http://baike.baidu.com/view/459307.htm

(2)[浏览器内核]:

http://baike.baidu.com/link?url=7KUYuMddjEiXasGdUK2RJl7ZBP9jvAnWuR2Yi0nay6Uce4ZLZD0sXKTFz8rMAlV2m0otk7uzVNQZLGSD4JqS0K

一个完整的浏览器包含浏览器内核和浏览器的外壳,浏览器内核又可以分为两部分:渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎。

浏览器的构成:一般由7个模块组成:User Interface(用户界面)、Browser engine(浏览器引擎)、Rendering engine(渲染引擎)、Networking(网络)、JavaScript Interpreter(js解释器)、UI Backend(UI后端)、Date Persistence(数据持久化存储)

用户界面:包括地址栏、后退/前进按钮、书签目录等,也就是所看到的除了页面显示窗口之外的其他部分。

浏览器引擎:可以在用户面和渲染引擎之间传送指令或在客户端本地缓存中读写数据等,是浏览器中各个部分之间相互通信的核心。

渲染引擎:解析DOM文档和CSS规则并将内容排版到浏览器中显示有样式的界面,也有人称之为排版引擎,我们常说的浏览器内核主要指的就是渲染引擎。

网络:用来完成网络调用或资源下载的模块。

UI后端:用来绘制基本的浏览器窗口内控件,如输入框、按钮、单选按钮等,根据浏览器不同绘制的视觉效果也不同,但功能都是一样的。

JS解释器:用来解释执行JS脚本的模块,如V8引擎,JavaScriptCore

数据存储:浏览器在硬盘中保存cookie、localStorage等各种数据,可通过浏览器引擎提供的API进行调用。

主流浏览器的内核

Trident(IE内核)

Trident内核代表产品Internet Explorer,是微软开发的一种排版引擎。

Gecko(Firefox 火狐)

Gecko内核代表作品Mozilla FirefoxGecko是一套开放源代码的,以C++编写的网页排版引擎。Gecko是最流行的排版引擎之一,仅次于Trident。

Webkit(Safari)

苹果公司自己的内核,也是Safari浏览器的内核。Webkit内核代表作品Safari 、Chromewebkit是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,

主要用于Mac IOS系统,特点在于源码结构清晰,渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示,主要代表作品有Safari和Google。

Presto(Opera)

Presto内核代表作品OperaPresto是由OperaSoftware开发的浏览器排版引擎,供Opera7.0及以上使用,它取代了旧版Opera4至6版本使用的Elektra排版引擎,包括加入动态功能,

例如网页或其部分可随着DOM及Script语法的事件而重新排版。

Blink(Chrome)

有Google和Opera Software挨罚的浏览器排版引擎,2013年4月发布,现在Chrome内核是Blink。Blink其实是webkit的分支,大部分国产浏览器最新版都采用Blink内核。

移动端的浏览器内核主要说的是系统内置浏览器的内核。

目前移动设备浏览器上常用的内核有Webkit、Blink、Trident、Gecko,其中苹果iOS平台主要是Webkit,Android4.4之前Android系统浏览器的内核是Webkit,Android4.4之后使用Blink,Windows Phone8系统浏览器内核是Trident。