资源描述
一:Trident内核
Trident(又称为MSHTML、IE内核),是微软的视窗操作系统(Windows)搭载的网页浏览器—Internet Explorer的排版引擎的名称,它的第一个版本随着1997年10月Internet Explorer第四版发布,之后不断的加入新的技术并随着新版本的InternetExplorer发布。在Internet Explorer第七版中,微软对Trident排版引擎做了的重大的变动,除了加入新的技术之外,并增加对网页标准的支持。尽管这些变动已经在相当大的程度上落后了其它的排版引擎,如Gecko、WebCore、KHTML、Webkit及Presto。
Trident引擎被设计成一个软件组件(模块),使得其他软件开发人员很容易的将网页浏览的功能加到他们自行开发的应用程序里。微软提出了一个称为组件对象模型(COM)的软件接口架构。供其它支持的组件对象模型开发环境的应用程序(如:C++及.NET)访问及编辑网页。例如,由C++所撰写的程序可以加入浏览器控件里,并通过Trident引擎访问当前显示在浏览器上的网页内容及网页的各种元素的值,从浏览器控件触发的事件亦可被程序截取并进行处理。Trident引擎所提供的所有库可以通过与mshtml.dll这个文件的链接而达成撰写程序时所需要的功能。
除此之外,微软还有另一个网页浏览器排版引擎,称为Tasman,它是使用在“Internet Explorer for Mac”的排版引擎。相较于Trident,Tasman引擎对网页标准有较佳的支持。与普遍的看法相反的是,微软已经停止了Mac版本的InternetExplorer的开发,但Tasman的开发仍旧持续,新版本的Tasman引擎仍被应用在一些微软产品上,如:Mac版本的Microsoft Office。
基于Trident技术的应用程序
除了InternetExplorer第四版以后的版本使用Trident排版引擎之外,还有其它的应用程序也使用了Trident排版引擎所提供的技术:
微软视窗操作系统内的应用程序
· 从Windows 98到Windows XP及Windows Server 2003所有版本的Windows Explorer。(Windows Vista则使用不同的技术)
· Windows98及其后续所有版本的视窗操作系统内的Windows帮助程序。
以Trident为核心的浏览器
· AvantBrowser(前身为IeOpera)
· Maxthon(前身为MyIE3.2、MyIE2)
· GreenBrowser(前身亦为MyIE3.2)
· TouchNetBrowser
· 腾讯TT
· GOSURF
· 世界之窗(TheWorld Browser)
· MiniIE
· Sleipnir
· MyIE(新版4.x为GreenBrowser作者发布,3.2及之前版本为Maxthon、GreenBrowser、iTreeSurf等浏览器的前身)
· iTreeSurf(LovelyTree,前身亦为MyIE3.2)
(注:中国大陆的大部分浏览器都使用Trident 排版引擎)
其它使用Trident技术的应用程序
· RealPlayer播放程序内附的网页浏览器。
· RealNetworks旗下的网络游戏公司RealArcade所提供的服务。
· MSNExplorer浏览器。
· MicrosoftOffice Outlook以及Outlook Express电子邮件软件使用Trident技术协助HTML格式的信件数据排版以及“Outlook Today”画面的显示。
· 微软公司的Encarta百科全书及其相关产品。
· 微软公司的Windows Media Player使用Trident技术产生“Media Information”页面。
· FeedReader - RSS阅读工具
· 微软公司的Microsoft Office InfoPath 2003(以XML为基础的表格开发器)产品。
· 微软公司的MSN Messenger实时通信软件利用该技术处理使用Flash技术的游戏或比赛以及广告的展示信息。
· ThunderSite网页编辑器。
· 跨平台的文件阅读软件TomeRaider。
· 维尔福软件公司的Steam内容传送系统使用Trident技术在该软件的“存储”及“更新消息”的功能。
二:Webkit
Webkit是一个开源的内核由此诞生出了 Chromium内核 后面介绍区别
WebKit是Mac OS X v10.3及以上版本所包含的软件框架(对v10.2.7及以上版本也可通过软件更新获取)。同时,WebKit也是Mac OS X的Safari网页浏览器的基础。WebKit是一个开源项目,主要由KDE的KHTML修改而来并且包含了一些来自苹果公司的一些组件。
传统上,WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDE的KHTML和KJS。不过,随着JavaScript引擎的独立性越来越强,现在WebKit和WebCore已经基本上混用不分(例如Google Chrome采用V8引擎,却仍然宣称自己是WebKit内核)。
跨平台之路
苹果公司在设计WebKit之时加入了太多Mac OS X平台的独有事物,这给向其它系统的移植造成了很大障碍。不过,由于WebKit出色的开源特性,这些障碍正在被不断克服。
iOS
2007年6月29日,iPhone上市,WebKit通过Safari浏览器进入iOS平台,而且立即成为当时iOS平台唯一的排版引擎。
苹果公司成为了这一项目的领导者。
Windows
2008年3月18日,Safari 3.1 for Windows转正,解决了Windows平台下WebKit一直存在的部分兼容性问题。同年9月3日推出的Google Chrome使得这一平台进一步成熟。而在Windows Mobile战线,领先推出稳定版的是拓驰公司的Iris Browser。
Windows是除Mac OS X外另一个得到WebKit.org官方支持的版本。
Linux
2008年10月22日投入市场的Android,其内置浏览器Google Chrome Lite代表着脱胎于Linux的Webkit内核“回归”Linux平台。尽管WebKit的原型Khtml是由Qt写成,但Linux下当前最受瞩目的WebKit项目却是Gnome领导的WebKit/Gtk+。不过随着奇趣科技于2008年6月被Nokia收购,Qt方面也加快了WebKit的开发进程。 目前,Google Chrome,Midori,GNOME的Epiphany、KDE的Konqueror,Arora以及QupZilla是Linux系统下最流行的Webkit内核浏览器。
Symbian
2005年,诺基亚公司的S60团队成为手机端WebKit的先驱,他们将WebKit框架移植到了Symbian S60平台,作为S60第三版的浏览器内核。
现在使用WebKit引擎的浏览器
开源
· Midori
· Epiphany
· Chromium
· Arora
· QupZilla
非开源
AvantBrowser
GoogleChrome
Lunascape
Safari
Sleipnir
搜狗高速浏览器
傲游3
QQ浏览器6
Chromium内核
Chromium是一个由Google主导开发的网页浏览器,以BSD许可证等多重自由版权发布并开放源代码。Chromium的开发可能早自2006年即开始,设计思想基于简单、高速、稳定、安全等理念,在架构上使用了苹果发展出来的WebKit排版引擎、Safari的部份源代码与Firefox的成果,并采用Google独家开发出的V8引擎以提升解译JavaScript的效率,而且设计了“沙盒”、“黑名单”、“无痕浏览”等功能来实现稳定与安全的网页浏览环境。
Chromium是Google为发展自家的浏览器Chrome浏览器而打开的计划,所以Chromium相当于Chrome浏览器的工程版或称实验版(尽管Chrome浏览器自身也有β版阶段),新功能会率先在Chromium上实现,待验证后才会应用在Chrome浏览器上,故Chrome浏览器的功能会相对落后但较稳定。
Chromium的更新速度很快,每隔数小时即有新的开发版本发布,而且可以免安装,下载zip封装版后解压缩即可使用(Windows下也有安装版)。Chrome浏览器虽然理论上也可以免安装,但Google仅提供安装版。
Chrome浏览器是基于Chromium制造,但包含非开放源代码包,主要是多媒体相关。
官方提供了制作扩展(extension)的方法,由世界各地用户创建的各种扩展亦已集结成库,并且不断增加中.
非官方修改版
· 2008年9月15日,CodeWeavers发布了一个非Google官方及捆绑了Wine的Chromium(Developer Build 21 forLinux and Mac OS X),被称为CrossOver Chromium.
· SRWareIron,是一个基于Chromium的浏览器。注重保护用户隐私。下载页显示软件支持Windows, Linux及Mac.同时有一个Chrome与Iron的比较页。
· 枫树浏览器是一个基于Chromium的Windows/Linux浏览器。新增了部分功能,如鼠标手势,链接拖动及IE标签。
· 世界之窗浏览器极速版(TheWorld Chrome版)
· RockMelt[16]
· Flock (已于2011年4月26日停止提供更新及技术支持)
· ComodoDragon
· 搜狗高速浏览器:基于Chromium开发,同时加入了IE内核引擎。
· 360浏览器极速版:基于Chromium开发,同时加入了IE内核引擎。
· 猎豹浏览器:基于Chromium开发,同时加入了IE内核引擎。
三:Gecko内核
Gecko是一套开放源代码、C++编写的网页排版引擎。目前为Mozilla家族网页浏览器以及Netscape 6以后版本浏览器所使用。该引擎原本是由网景通信公司开发的,现则由Mozilla基金会维护,以多许可方式授权发布,包括Mozilla公共许可证(MPL)、GNU通用公共授权条款(GPL)以及GNU较宽松公共许可证(LGPL)。
这套排版引擎提供了一个丰富的程序接口以供互联网相关的应用程序使用,例如:网页浏览器、HTML编辑器、客户端/服务器等等。虽然最初主要针对Netscape和Mozilla Firefox的Mozilla派生产品,但现在已有很多其他软件在使用这个排版引擎。Gecko是跨平台的,能在MicrosoftWindows、Linux和Mac OS X等主要操作系统上运行。
Gecko在互联网中是最流行的排版引擎之一,其流进程度仅次于Trident(用于Windows版的InternetExplorer4.0版本开始)以及WebKit(用于Safari以及Chrome浏览器),其后尚有Presto(用于Opera)。
标准支持
· HTML 4.01 (支持部分HTML 5)
· XML 1.0
· XHTML 1.1
· MathML
· CSS Level 2.1(支持部份CSS 3)
· DOM Level 1和2(支持部份DOM 3)
· RDF
· JavaScript 1.8(ECMAScript 3,支持部分ECMAScript 5)由SpiderMonkey实现
· E4X
· SVG(支持部份SVG 1.1)
· XSLT和XPath由TransforMiiX实现
· XForms(借由官方的扩展)
发展史
1997年,网景浏览器在各方面的表现已经比不上它的主要竞争对手InternetExplorer,这包括程序的运行速度、对W3C标准的支持度等等。于是,网景收购了DigitalStyle,开始研发下一代的排版引擎,并期望把新的排版引擎应用于下一版本的网景浏览器上。
1998年初,Mozilla专案启动,新的排版引擎名为Raptor,以开放源代码的方式发放于网络上。后来,因为商标问题,Raptor改名为NGLayout(即Next GenerationLayout之意)。而最后NGLayout被网景市场部门重命名为Gecko。但由于Gecko为网景的商标,所以有一段时期Mozilla.org(网景的非正式组织,Mozilla基金会前身)以NGLayout来称呼这个新的排版引擎,同时,Gecko亦指XPFE(Cross Platform Front End),一个以XML为基础的用户界面。不过,现在Gecko只用于排版引擎。
1998年10月,网景公布下一版的浏览器将会使用这个排版引擎,而该浏览器亦需要被大幅度重写。对于致力推动网络标准的人,这是一个令人振奋的消息。然而,对于网景开发者而言,这是一个长达六个月的大工程,而他们在网景5.0上(包括Mariner排版引擎)所花的心血亦被白白浪费。结果,网景6.0在2000年11月才被正式发布。
随着Gecko的开发,越来越多应用程序开始使用它。AOL作为网景的母公司,终于在CompuServe 7.0和AOL for Mac OS X上使用了Gecko。可惜,Windows版的AOL浏览器始终没有使用过Gecko。
2003年7月15日,时代华纳解散了网景公司,大部分开发者被解雇。而Mozilla基金会亦在当天成立,继续推动着Gecko的发展。直到今天,Gecko仍继续由Mozilla的员工和义工所维护和发展。
未来发展
Gecko将会继续支持更多的网络标准,例如:XForms和SVG。Mozilla基金会作为WHATWG的一份子,Gecko和其他排版引擎将会率先支持WHATWG所定下的规格,例如:可供绘画的Canvas。
Gecko的绘图引擎在1.9版将会有重大的改变。它将会使用跨平台的Cairo绘图引擎来取代作业平台的绘图接口。这个改变将会令Gecko拥有更佳的绘图能力。而加上Glitz的话,更可利用3D硬件加速。而所有多媒体内容(如HTML/CSS、canvas、SVG等)将可使用同一管道作出渲染,SVG的特效亦可以应用于HTML上。因为使用Cairo的关系,图像亦可以被输出作PNG和PDF,亦有可能达成“另存本页为PDF”的功能。
使用Gecko的应用程序网页浏览器
· MozillaApplication Suite *
· MozillaFirefox *
· AOL for Mac OS X
· Aphrodite *
· BeonexCommunicator *
· Camino
· CompuServe 7.0
· DocZilla
· Epiphany(2.28起改用WebKit)
· Galeon
· IBM Web Browser
· IceWeasel
· K-Meleon
· Kazehakase
· Lunascape
· ManyOne *
· Maxthon
· Minimo
· Netscape 6.0和以上 *
· Salamander
· SeaMonkey *
· Skipstone
· Flock *(3.0起改用WebKit)
· Sleipnir(需自行安装)
其他应用程序
· ActiveStateKomodo *
· Liferea
· MozillaActiveX Control
· MozillaCalendar *
· MozillaThunderbird *
· Nvu *
· GREfor Gecko-Sharp *
* 使用Gecko来渲染基于XUL的用户界面。
四:Presto内核
Presto 是一个由 Opera Software 开发的浏览器排版引擎,供 Opera 7.0及以后版使用。
Presto 取代了旧版 Opera 4至6版本使用的 Elektra 排版引擎,包括加入动态功能,例如网页或其部分可随着DOM 及 Script 语法的事件而重新排版。
Presto 在推出后不断有更新版本推出,使不少错误得以修正,以及阅读 JavaScript 效能得以最佳化。
JavaScript引擎
"Linear A"是一个JavaScript引擎使用在旧版本的Opera中。版本基于Presto的"Core" fork,由Opera 7.0至9.27版本,Opera使用"LinearB"引擎。[2] "Futhark"引擎使用在同一个版本"Core 2"fork中,由Opera 9.5至10.10版本中使用。[3]在发布的当时,Presto是世界上最快的引擎。但在2008年,新一代JavaScript引擎如Google的V8、Mozilla的TraceMonkey及苹果公司的SquirrelFish已多走一步,加入了机器语言生成。虽然原始JavaScript的性能是用于意义不大的日常浏览,但这开辟了在客户端和futhark沉重的计算的可能性,但是仍然快速和高效,Presto即将不能够跟上。
Opera在2009年后期提出了下一个步骤,Carakan,将用于未来版本的Opera中。功能包括位register-based元组码,机器语言生成,自动对象分类及整体性能改进。
以Presto作为基础的应用程式网络浏览器
· Opera 7与之后版本
· OperaMobile
· OperaMini
· NintendoDS Browser (基于Opera)
· NintendoDSi浏览器 (基于Opera)
· Nokia770浏览器(基于Opera)
· SonyMylo COM-1's浏览器 (奠基于Opera)[18]
· Wii Internet Channel浏览器 (基于Opera)[19]
HTML编辑器
Adobe Dreamweaver MX至CS3版本(CS4及以后版本使用Webkit)AdobeCreative Suite Virtual Mechanics SiteSpinner Pro
Kestrel内核
Kestrel内核,享受10倍于IE的高速
Kestrel是一种叫茶隼的鸟,它是世界上速度最快的肉食动物。而采用Kestrel渲染引擎为内核的Opera 9.5浏览器,其JavaScript和HTML渲染速度比9.2x系列快2倍以上、第三方插件处理速度更快、程序启动时间更短。Opera首席技术官更放言,借助此引擎,用户可享受10倍于IE浏览器的网页访问速度!
而在著名的浏览器内核Acid1、Acid2、Acid3系列关于CSS,JavaScript,Html,Ajax等标准测试中,Opera 9.5都凭借其优异的性能获得了最高分,用户量最大的IE仅得到了可怜的十来分。
Elektra内核
Elektra最初是Opera 4.0版本的代号。实际上,Opera 3.5版到6.1版所使用的都是相同的排版引擎,只是当时没有这样的概念。Opera软件公司首次官方称为排版引擎的是在随7.0版发布的Presto。但是由于Elektra的代号深入人心,而且普遍存在以为Elektra是Opera 4至6版的排版引擎的误解[2],在这种情况下,Opera公司选择顺应民意,改写了软件历史,正式确认Elektra作为排版引擎名称的地位,并将其回溯到引擎实际启用的3.5版。
展开阅读全文