浏览器内核的解析和对比

简单来说浏览器可以分为两部分,shell+内核。
其中shell的种类相对比较多,内核则比较少。Shell是指浏览器的外壳:例如菜单,工具栏等。主要是提供给用户界面操作,参数设置等等。它是调用内核
来实现各种功能的。

从Mozilla将Gecko独立出来后,才有了外壳和内核的明确划分

浏览器内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。
渲染引擎 负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。
浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。

JS引擎则是解析Javascript语言,执行javascript语言来实现网页的动态效果。

常见的浏览器内核可以分这四种:Trident、Gecko、Presto、Webkit。

Trident内核,又被很多人称为IE内核,这是由于该内核与微软的渊源很深,
Trident为闭源引擎,所以开发者无法直接修改或封装该内核,不过微软提供了相应的调用接口
由于微软将IE捆绑在Windows平台上,所以在浏览器的内核领域,Trident很长时间内都是一家独大。这种情况导致的后果有利有弊:

1:国内大量的网站插件(例如银行网站的插件)都基于该内核支持的ActiveX格式,
使得IE浏览器具有很强的普适性。举例而言,大家通过网上银行转账,基本都会使用IE浏览器;

2:Trident内核曾经在很长时间没有更新(老大一般懒得动弹),几乎与W3C
标准脱节,其速度也差强人意;不过现在微软已经致力于将其做得更好,如
Win8消费者预览版上的IE10就已经有长足的进步,对WebGL也提供了支持。

除IE浏览器外,目前世面上有很多采用Trident内核的浏览器涌现,如:Maxthon、The World、TT、GreenBrowser、AvantBrowser等。

WebKit其起源可追溯到KDE(KDesktop Environment)。WebKit所包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们
都是自由软件,在LGPL条约下授权,所以WebKit也是自由软件,开放源代码。
Apple将KHTML发扬光大,在其基础上创建了WebKit分支,并推出基于该引擎的Safari浏览器,该浏览器是Mac OS X平台默认的浏览器。此外,WebKit内核在手机上的应用非常广泛,例如 Google 的手机Gphone、Apple 的IPhone, Nokia’s Series 60 browser 等所使用的Browser 内核引擎,都是基于WebKit。
Webkit是苹果公司基于KHTML开发的。他包括Webcore和JavaScriptCore(SquirrelFish,V8)两个引擎。主要的使用者有Safari,Chrome。

Gecko(Mozilla FireFox火狐浏览器采用的内核)Gecko引擎是网景公司于1998年开发的。2003年7月15日,时代华纳解散了网景公司,同时成立Mozilla基金会,继续推动Gecko的发展。
Gecko完全开源,这点和WebKit是相同的。
Gecko是C++开发的,Open Source的渲染引擎,包括了SpiderMonkey(Rhino)。主要的使用者有Firefox。

Presto由Opera Software公司开始的,用于Opera的渲染引擎。Macromedia Dreamweaver (MX版本及以上)和Adobe Creative Suite 2也使用了Presto的内核。

主流浏览器所使用的内核分类
Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等
Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等
Presto内核:Opera7及以上
Webkit内核:Safari,Chrome等

浏览器内核的优缺点
Trident:这种浏览器内核是IE浏览器用的内核,因为在早期IE占有大量的市场份额,所以这种内核比较流行,以前有很多网页也是根据这个内核的标准来编写的,但是实际上这个内核对真正的网页标准
支持不是很好,甚至在2005年,与网页标准制定组织(W3C理事会)所制定的标准发生了脱节,同时Trident内核本身的BUG比较多,对一些符合W3C标准的网页代码支持不是很好

但是由于IE的高市场占有率,微软也很长时间没有更新
Trident内核,这导致了二个结果
1,Trident内核和W3C标准脱节。
2,Trident内核的大量Bug等安全问题没有得到解决,加上一些专家学者公开自己认为IE浏览器不安全的观点,使很多用户开始转向其他浏览器,FF,Opera就是这时期兴起的。
Gecko:这是Firefox 和
Flock 所采用内核,这个内核的优点就是
功能强大、丰富,可以支持很多复杂网页效果和浏览器扩展接口,但是代价是也显而易见就是要消耗很多的资源,比如内存。
Presto:Opera 采用的是Presto内核,Presto内核被称为公认的浏览网页速度最快的内核,这得益于它在开发时的天生优势,在处理JS脚本等脚本语言时,会比其他的内核快
3倍左右,缺点就是为了达到很快的速度而丢掉了一部分网页兼容性。
Webkit:Webkit 是Safari
采用的内核,不过Safari 是苹果系统下的浏览器(虽然也有windows
版,但是比较少),所以只简单介绍一下这个内核的优点和缺点,优点就是网页浏览速度较快,
虽然不及Presto 但是也胜
Gecko和Trident,缺点是对于网页代码的容错性不高,也就是说对网页代码的兼容性较低,会使一些编写不标准的网页无法正确显示。

总结:就浏览器来说,互联网经历了十年的高速发展期,近几年市场上也推出了很多新的浏览器,但是他们并非是采用自主开发的内核,所以浏览器内核本身实际没有实质突破。

参考:http://wenku.baidu.com/view/84445b0d852458fb770b56d1.html

           http://wenku.baidu.com/view/fd7fd38ba0116c175f0e48ae.html?re=view


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值