• 浏览器内核 Trident,Gecko,WebKit,Presto 简单


    Trident,Gecko,WebKit三种浏览器引擎的简单介绍

    由于项目的原由最近接触了很多优秀的项目,其中包括HTML排版引擎,以下对其做下简单的介绍和比较.

    现在浏览器的内核引擎,基本上是三分天下:

    Trident: IE 以Trident 作为内核引擎。Gecko: Firefox 是基于 Gecko 开发。WebKit: Safari, Google Chrome 基于 Webkit 开发。Trident

    Trident (又称为MSHTML),是微软的窗口操作系统(Windows)搭载的网页浏览器—Internet Explorer的排版引擎的名称,它的第一个版本随着1997年10月Internet Explorer第四版释出,之后不断的加入新的技术并随着新版本的Internet Explorer释出。在未来最新的Internet Explorer第七版中,微软将对Trident排版引擎做了的重大的变动,除了加入新的技术之外,并增加对网页标准的支持。尽管这些变动已经在相当大的程度上落后了其它的排版引擎,如Gecko、WebCore、KHTML及Presto。

      Trident引擎被设计成一个软件组件(模块),使得其它软件开发人员很容易的将网页浏览的功能加到他们自行开发的应用程序里。微软提出了一个称为组件对象模型(COM)的软件接口架构。供其它支持的组件对象模型开发环境的应用程序(如:C++及.NET)存取及编辑网页。例如,由C++所撰写的程序可以加入浏览器控件里,并透过Trident引擎存取当前显示在浏览器上的网页内容及网页的各种元素的值,从浏览器控件触发的事件亦可被程序撷取并进行处理。Trident引擎所提供的所有函式库可以透过与 mshtml.dll这个档案的连结而达成撰写程序时所需要的功能。

      除此之外,微软还有另一个网页浏览器排版引擎,称为Tasman,它是使用在「Internet Explorer for Mac」的排版引擎。相较于Trident,Tasman引擎对网页标准有较佳的支持。与普遍的看法相反的是,微软已经停止了麦金塔计算机版本的 Internet Explorer的开发,但Tasman的开发仍旧持续, 新版本的Tasman引擎仍被应用在一些微软产品上,如:麦金塔计算机版本的Microsoft Office。 
      使用Trident引擎的浏览器有很多,比如Maxthon,腾讯TT,MyIE等等,但Trident只能应用于Windows平台.

    Gecko


    Gecko是套开放源代码的、以C++编写的网页排版引擎。目前为Mozilla家族网页浏览器以及Netscape 6以后版本浏览器所使用。这软件原本是由网景通讯公司开发的,现在则由Mozilla基金会维护。

    这套排版引擎提供了一个丰富的程序界面以供互联网相关的应用程式使用,例如网页浏览器、HTML编辑器、客户端/服务器等等。虽然最初的主要对象是Mozilla的衍生产品,如Netscape和Mozilla Firefox,现在已有很多其他软件现在利用这个排版引擎。Gecko是跨平台的,能在Microsoft Windows、Linux和Mac OS X等主要操作系统上运行。

    Gecko是最流行的排版引擎之一,其流行程度仅次于Trident.
    使用Gecko引擎的浏览器有Firefox, 网景(6至9), SeaMonkey, Camino, Mozilla, Flock, Galeon, K-Meleon, Minimo, Sleipnir, Songbird , XeroBank.

    WebKit


    WebKit是Mac OS X v10.3及以上版本所包含的软件框架(对v10.2.7及以上版本也可通过软件更新获取)。 同时,WebKit也是Mac OS X的Safari网页浏览器的基础。WebKit是一个开源项目,包含了来自KDE项目和苹果公司的一些组件。


    目前使用WebKit 引擎的浏览器主要有:Safari(apple出品),Midori,chrome(google出品)等。

    WebKit拥有清晰的源码结构、极快的渲染速度。

    Presto

    目前Opera采用的内核,该内核在2003年的Opera7中首次被使用,也是由Opera Software开发出来的用以代替早期的Elektra内核(Opera 4~6)。该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。

    Presto实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被重新解析。此外该内核在执行Javascrīpt的时候有着最快的速度,根据在同等条件下的测试,Presto内核执行同等Javascrīpt所需的时间仅有Trident和Gecko内核的约1/3(Trident内核最慢,不过两者相差没有多大)。那次测试的时候因为Apple机的硬件条件和普通PC 机不同所以没有测试WebCore内核。只可惜Presto是商业引擎,使用Presto的除开Opera以外,只剩下NDS Browser、Wii Internet Channle、Nokia 770网络浏览器等,这很大程度上限制了Presto的发展

  • 相关阅读:
    阿里开源的那个牛X的问题排查工具——Arthas,推出IDEA插件了!
    Serverless 风起云涌,为什么阿里,微软,AWS 却开始折腾 OAM?
    读书笔记 effective c++ Item 6 如果你不想使用编译器自动生成的函数,你需要明确拒绝
    读书笔记 effective c++ Item 5 了解c++默认生成并调用的函数
    读书笔记 effective c++ Item 4 确保对象被使用前进行初始化
    读书笔记 effective c++ Item 3 在任何可能的时候使用 const
    读书笔记 effective c++ Item 2 尽量使用const,枚举(enums),内联(inlines),不要使用宏定义(define)
    读书笔记 effective c++ Item 1 将c++视为一个语言联邦
    房产知识 集锦
    读书笔记 --TCP :传输控制协议(二)
  • 原文地址:https://www.cnblogs.com/chyong168/p/2256113.html
Copyright © 2020-2023  润新知