各种浏览器内核的区别-胡新春个人博客
  •  首页
  •  游戏/动漫
  •  日记/生活
  •  程序员式幽默
  •  闲言碎语
  •  博客大计事
  •  留言板
  • 
    各种浏览器内核的区别
     作者:收藏  发布时间:2017-11-27 14:12:15  访客:210

    143102420.jpg

    一、浏览器内核


         Rending Engine, 顾名思义,称之为渲染网页内容的,将网页的代码转换为你看得见的页面,因为是排版,所以排版,所以肯定会有排版错误等问题。为什么会有排版错误呢,一部分是由于网站本身编写不规范,另一方面是浏览器本身的不规范。


         现在有一些主流的排版引擎,因为这些排版引擎都有其代表的浏览器,所以常常会把排版引擎的名称和浏览器的名称混用,其实这样是不合理的,因为一个完整的浏览器不会只有唯一的排版引擎,还有自己的界面框架和其他的功能支撑,而排版引擎本身也不可能实现浏览器的所有功能,下面罗列出几款主流的的排版引擎和浏览器。


    1、Trident内核(window)


          Trident就是大名鼎鼎的IE浏览器所使用的内核,也是很多浏览器所使用的内核,MS现在采用的越来越少,反之使用webkit的越来越多,老的trident内核(比如IE6)当年占得市场份额很大,后果就是大量的网页是专门为IE6等老trident内核编写,但这些网页的代码并不符合w3c标准。


           于是完全符合w3c标准的网页在老trident内核下出现了偏差,这就是为什么后来很多人觉得后来的IE9网页排版有点混乱,而IE6正常,其实不是浏览器的兼容性差了,而是你访问的的网页不符合新的标准,目前可供调用的最新版的Trident内核是IE9使用的内核,较之前的版本对w3c的标准支持增了很多。

       

      基于Trident内核的浏览器有


      ie6,ie7,ie8(Trident 4.0) , ie9(trident 5.0)  , ie10(trident6.0);

      世界之窗,360安全浏览器, 遨游2.0(3.0以上版本开始采用webkit内核),搜狗浏览器,腾讯TT;其中部分版本的浏览器是双核浏览器,甚至是多核。


    2、Gecko(跨平台)


       Natescape6启用的内核,现在又mozilla基金会进行维护,是开源的浏览器内核,目前主流的Gecko内核是mozilla firefox, 由于firefox的出现,IE的霸主地位逐渐被削弱,chrome的出现加速了这个进程,非trident内核的兴起逐渐改变了整个互联网的格局,最直接的推动是编码的标准化,也使MS在竞争的压力下不得不改进IE,不过可惜的是,虽然是开源的,也开发了这么多年,基于Gecko的浏览器并不多见,除了一些简单的改动或者重新编译,深度定制或者增了强外壳的还是比较少见。另外就是一些软件借用了Gecko,比如音乐管理软件songbird。


    3、khtml(linux)

      

       KDE开发的内核,速度快捷,容错率低,这种内核不见得有很多人知道,但后面看下去你就会明白,常见的khtml内核的浏览器有:konqueror。


    4、webkit(跨平台)

     

        由khtml发展而来,也是apple给开源世界的一大贡献,是目前最火热的浏览器内核,火热的不是说它的市场份额,而是应用的面积和势头,因为脱胎于khtml,所以具有高速的特点,同样遵守w3c标准,从目前来看,webkit内核是最具有潜力而且是已经有相当成绩的新型内核,性能非常好,对w3c标准的支持也非常完善,本人十分看好他。


     常见的基于webkit内核的浏览器主要有:


     apple 的safari(win/mac/iphone/ipad) 、google的chrome、塞班手机浏览器、Android手机默认的浏览器。


    5、Presto(跨平台)

        opera所 采用的内核,准确的说是opera7.0及以后的版本采用的内核,之前的版本采用的内核是elektra, 无容置疑,Presto内核对w3c的支持也很良好,presto对页面文字的解析方面的性能比webkit还要高,对页面有较高的阅读性,基于presto的内核的浏览器有;  opera

    更多其它的内核的介绍请查询wiki百科。


    2017101711451114556.jpg


    二、javascript引擎


         说完了排版引擎,下面来说说javascript引擎,顾名思义,js引擎就是用来执行javascript代码的, 简单的举个例子,一个计算圆周率的网页,排版引擎把页面的框架显示出来,最终的结果要用javascript来计算,所以javascript引擎的快慢也是对整个网页的速度有很大的影响,特别是最近 目前越来越多的类似webQQ、Gmail等大量复杂的基于javascript运算的网站,不同的执行引擎的速度的差别很显然易见。


         为甚么要单独拿出来说,因为还涉及到跑分,现在通俗的说那个浏览器更快,实际上是指执行javascript脚本的速度也就是javascript的渲染速度,而不是页面的载入速度,在网速允许的情况下,其实各浏览器的网页载入的速度差别不是很大,由于现在javascript在页面中的比重越来越大,越来越多的动态画面开始大量借助于javascript,比如现在主流的SNS、邮箱、网页游戏,所以javascript的渲染速度也是一个很重要的指标,javascript的渲染速度越快,动态页面的显示也就是越快,opera在javascript引擎的跑分上一直是遥遥领先的,一般来说在最新版本之间PK,opera基本上都会夺冠。


    1、chakra 查克拉  IE9启用的新的javascript引擎。

    2、spidermonkey /tracemonkey/jaegerMonkey spidermonkey应用在mozilla firefox1.0-3.0版本上, tracemomonkey 应用在3.0-4.,0版本上,jaegermonkey应用在4.0及以后新的版本上。

    3、v8引擎 一般应用在chrome   遨游3浏览器上。

    4、Nitro 应用于 safari 4及以后的版本上。

    5、linear A/  linear B /futhark/carakan linear A 用于Opera4.0-6.1版本,linear B用于opera7.0-9.2版本 futhark应用于opera9.5-10.2版本,carakan用于Opera10.5及后续的版本。

    6、KJS   KHTML对应的javascript引擎.


    三、几个与浏览器有关的测试项目


    1、V8引擎  现在很多双核浏览器都是用它来测试javascript引擎,分数越高越好。

    2、Acid3 这个主要是对网页标准的兼容性测试,分数越高表示越符合网页的开发标准,满分是100分。

    3、html5 测试对htm5标准的支持,分数越高越好。


    四、几多奇葩


     1、IETab   这是一款浏览器扩展,并非内核,在没有第三方编译版本的时候,IEtab一直是firefox 、chrome等非trident内核等浏览器安装的扩展之一,方便用户在不开启IE的情况下调用trident内核访问一些兼容性比较差的网站。


    2、trident/gecko双核浏览器。


    3、trident/webkit双核浏览器这个这个国内最流行的主流双核浏览器,基本上是这个框架,360急速、世界之窗急速浏览器 遨游3 搜狗3 QQ浏览器等一些山寨浏览器。


    4 trident gecko webkit 三核浏览器最常见的是日本的 lunascape。



    五、几种常见的浏览器内核整理


    Trident:


         这是微软开发的一种排版引擎。该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的 IE7。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如 Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内 核名称而只好如此说,至少老N就是如此。。。)。自从发布后,Trident不断地被更新和完善:


    Trident II(IE5)——增进对CSS1.0的支持及对CSS2重大的变更;

    Trident III(IE5.5)——修正部分CSS的排版控制;

    Trident IV(IE6)——修正了一部分box-model的错误以及增加了“兼容模式(Quirks Mode)”切换功能,以增加对文件类型描述(Document Type Definition,DTD)的支持;

    Trident V(IE7)——修正许多CSS排版处理上的错误以及增加对PNG格式alpha通道(半透明)的支持。(这就是IE6经常被诟病的对png图片支持不良的之处!)


    Geckos:


        Gecko是套开放源代码的、以C++编写的网页排版引擎。这软件原本是由网景通讯公司开发的,Netcape6开始采用该内核。后来的 Mozilla FireFox也采用了该内核,Geckos的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。Geckos 现在由Mozilla基金会维护。


    Presto:


        Presto是一个由Opera Software开发的浏览器排版引擎,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核。


    Webkit:


        苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软 件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开发源代码。在安全方面不受IE、Firefox的制约,所以 Safari浏览器在国内还是很安全的。


    简单的总结一下:


    使用Trident内核的浏览器:IE、Maxthon、TT、The World等;

    使用Gecko内核的浏览器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;

    使用Presto内核的浏览器:Opera7及以上版本;

    使用Webkit内核的浏览器:Safari、Chrome。


    原文地址:http://blog.csdn.net/anddy926/article/details/7442369

    点评一下

    
    程序:HXC博客v2.0 主题:HXC博客前端Funs主题    基于CodeIgniter框架构建
    博客平稳运行2年+