OscarXie.net

关注质量与体验——电子商务与自动化测试

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Typesetting Engine_Gecko

Gecko在英语中是“壁虎”的意思。

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

 

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

 

Gecko为第2个最流行的排版引擎,仅次于Trident(用于Windows版的Internet Explorer)。

 

标准支援

HTML 4.01

XML 1.0

XHTML 1.1

MathML

CSS Level 1(支援部份CSS 23

DOM Level 12(支援部份DOM 3

RDF

JavaScript 1.6

E4X

 

发展史

1997年,网景收购了DigitalStyle。当时,网景浏览器在各方面的表现已经比不上她的主要竞争对手Internet Explorer。这包括程序的执行速度、对W3C标准的支援度等等。网景开始研发下一代的排版引擎,并期望把新的排版引擎应用于下一版本的网景浏览器上。

 

1998年初,Mozilla计划开始执行。这个新的排版引擎名为Raptor,以开发源码的方式发放于因特网上。后来,因为商标问题,Raptor改外为NGLayout(即next generation layout之意)。而最后NGLayout就被网景重新命名为Gecko。但由于Gecko为网景的商标,所以有一段时期Mozilla组织(属于网景的非正式组织,亦为Mozilla基金会的前身)以NGLayout来称呼这个新的排版引擎,而在该时,Gecko这字亦指XPFEcross-platform front-end),一个以XML为基础的使用者接口。不过,现时Gecko这字只用于排版引擎。

 

199810月,网景公布下一版的浏览器将会使用这个排版引擎,而该浏览器亦需要被大幅度重写。对于致力推动网上标准的人,这是一个令人振奋的消息。然而,对于网景开发者而言,这是一个长达六个月的大工程,而他们在网景5.0上(包括Mariner排版引擎)所花的心血亦被白白浪费。结果,网景6.0200011月才被正式发布。

 

随著Gecko的开发,越来越多应用程序开始利用她。AOL作为网景的母公司,终于在CompuServe 7.0AOL for Mac OS X上使用Gecko。可惜,Windows版的AOL浏览器始终没有利用过Gecko

 

2003715时代华纳解散了网景公司,大部分开发者被解雇。而Mozilla基金会亦在当天成立,继续推动著Gecko的发展。时至今天,Gecko仍继续由Mozilla的雇员和义工所维护和发展。

 

 

未来发展

Gecko将会继续支持更多的网络标准,例如XFormsSVGMozilla基金会作为WHATWG的一份子,Gecko和其他排版引擎将会率先支援WHATWG所定下的规格,例如可供绘画的canvas

 

Gecko的绘画元件在1.9版将会有重大的改变。她将会使用跨平台的Cairo元件来代替作业平台的绘画接口。这个改变将会令Gecko拥有更佳的绘图能力。而加上Glitz的话,更可利用3D硬件加速。而所有多媒体内容(如HTML/CSScanvasSVG等)将可使用同一管道作出渲染,SVG的特效亦可以应用于HTML上。因为使用Cairo的关系,图像亦可以被输出作PNGPDF,“另存本页为PDF”等作业将变得有可能。

 

 

使用Gecko的应用程序

 

网页浏览器

Mozilla Application Suite *

Mozilla Firefox *

AOL for Mac OS X

Aphrodite *

Beonex Communicator *

Camino

CompuServe 7.0

DocZilla

Epiphany

Galeon

IBM Web Browser

K-Meleon

Kazehakase

ManyOne *

Maxthon(本身并不支持,需要使用插件)

Minimo

Netscape 6.0和以上 *

Salamander

SeaMonkey *

Skipstone

Flock *

 

其他应用程序

ActiveState Komodo *

Liferea

Mozilla ActiveX Control

Mozilla Calendar *

Mozilla Thunderbird *

Nvu *

GRE for Gecko-Sharp *

* 使用Gecko来渲染基于XUL的用户界面。

 

 
posted on 2007-01-02 15:48  oscarxie  阅读(367)  评论(0编辑  收藏  举报