跳转到内容

Gecko

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由Moshirk留言 | 贡献2017年12月17日 (日) 12:13 →‎標準支援编辑。这可能和当前版本存在着巨大的差异。

Gecko
File:Netscape-gecko-logo.png
开发者Mozilla基金会Mozilla公司
当前版本
  • 106.0.5 (2022年11月4日;稳定版本)[1]
编辑维基数据链接
原始码库 编辑维基数据链接
编程语言C++JavaScriptRust
操作系统跨平台
类型排版引擎
许可协议MPL 2.0[2]
网站developer.mozilla.org/en/docs/Gecko

Gecko是一套自由及开放原始码、以C++编写的排版引擎,目前为Mozilla Firefox网页浏览器以及Mozilla Thunderbird电邮客户端Mozilla基金会相关产品所使用。Gecko原本由网景通讯公司开发,现在则由Mozilla基金会维护。

这套排版引擎提供了一个丰富的应用程序接口以供互联网相关的应用程式使用,例如:网页浏览器HTML编辑器客户端伺服器等等[3]。虽然最初的主要使用对象为Netscape和Mozilla Firefox网页浏览器,但现在已有很多其他软件在使用这个排版引擎。Gecko是跨平台的,能在Microsoft WindowsLinuxMac OS X等主要操作系统上运行。

发展史

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

1998年初,这个新的排版引擎名为Raptor,以开放原始码的方式发放于网络上。后来,因为商标问题,Raptor改名为NGLayout(即Next Generation Layout之意)。而最后NGLayout被网景市场部门重命名为Gecko。但由于Gecko为网景公司的商标,所以有一段时期Mozilla.org(网景成立的非正式组织,Mozilla基金会前身)以NGLayout来称呼这个新的排版引擎[5]

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

随着Gecko排版引擎的开发,越来越多应用程式开始使用它。美国在线作为网景的母公司,终于在CompuServe 7.0和AOL for Mac OS X上使用了Gecko。可惜,Windows版的AOL浏览器始终没有使用过Gecko。

2003年7月15日,美国在线解散了网景公司,大部分网景开发者被解雇。而Mozilla基金会亦在当天成立,继续推动着Gecko的发展。直到今天,Gecko排版引擎继续由Mozilla员工和社群所维护和发展。

标准支持

Gecko将会继续支持更多的网络标准,例如:XFormsSVG。Mozilla基金会身为WHATWG组织的成员,Gecko和其他排版引擎将会率先支持WHATWG所定下的规格,例如:可供绘画的Canvas

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

使用

Gecko主要用于网页浏览器,最早使用于Netscape 6Mozilla Suite(后来更名为SeaMonkey)。它也用于Mozilla的其它浏览器派生产品如FirefoxFirefox移动版。Mozilla也将其用于Thunderbird电邮客户端

其他使用Gecko的网页浏览器还包括Airfox、WaterfoxK-MeleonLunascapePale MoonFirefox PortableConkeror英语ConkerorClassilla英语ClassillaTenFourFox英语TenFourFox、HP Secure Web Browser,Oxygen和Sylera(移动设备)。

其他使用Gecko的产品包括Conkeror英语Conkeror、Oxygen、Nightingale英语Nightingale (software)Instantbird和Google的图片管理软件Picasa(Linux版本)[11]

DevHelp英语GNOME Devhelp,GTK+/GNOME API文件浏览器,使用Gecko来渲染文件[12]

历史上使用Gecko的产品包括SongbirdEpiphany(现在改名为Web,已经没有使用Gecko)、Sunbird,以及其他网页浏览器,包括Swiftfox英语SwiftfoxFlockGaleonCaminoMinimoBeonex CommunicatorKazehakase英语KazehakaseMicroB英语MicroB

在Netscape时代,由于糟糕的技术和管理决策导致了Gecko的软件膨胀英语Software bloat[13][14][15]。因此,2001年,苹果公司选择了KHTML分支,而不是Gecko,来为Safari浏览器建构了WebKit引擎[14][15]。然而,到2008年,Mozilla已经解决了一些膨胀问题,导致Gecko的性能大幅提升[16]

参考资料

  1. ^ Firefox 106.0.5, See All New Features, Updates and Fixes. 
  2. ^ http://www.mozilla.org/en-US/foundation/licensing/
  3. ^ Embedding Mozilla. Mozilla.org. 2012-10-25 [2012-10-31]. 
  4. ^ Netscape to Acquire DigitalStyle and Portola Communications. PR Newswire. 
  5. ^ nglayout project: identity crisis. Mozilla.org. [2012-10-31]. (原始内容存档于2011-06-29). 
  6. ^ Castro, Jorge O. Ars Technica interviews Scott Collins. Arstechnica.com. 2004-06-16 [2012-10-31]. 
  7. ^ Mozilla CSS support chart. Developer.mozilla.org. 2012-08-04 [2012-10-31]. 
  8. ^ ECMAScript 5 support in Mozilla. Developer.mozilla.org. 2013-11-14 [2013-12-02]. 
  9. ^ The SVG font, color profile, animation, view, and cursor modules are yet to be implemented and the filter and text modules are only partially implemented. The extensibility module is also implemented but is currently disabled
  10. ^ Mozilla SVG Status. Mozilla.org. 2012-08-25 [2012-10-31]. 
  11. ^ Picasa 3.0 for Linux. Google. [2008-12-28]. (原始内容存档于2009-01-07). 
  12. ^ Official package devhelp (0.19.1-6 and others) on Debian Lenny. Debian Project. [2009-08-12]. 
  13. ^ Jorge O. Castro. Ars Technica sits down with Scott Collins from Mozilla.org. Ars Technica. 2004-06-15 [2017-02-16]. 
  14. ^ 14.0 14.1 Paul Festa. Apple snub stings Mozilla. CNET Networks. 2003-01-14 [2017-02-16]. (原始内容存档于2009-09-06). 
  15. ^ 15.0 15.1 David Baron. Thursday 2003-01-09. David Baron's weblog. self-published. 2003-01-09 [2017-02-16]. (原始内容存档于2009-09-06). 
  16. ^ Ryan Paul. Why Mozilla is committed to Gecko as WebKit popularity grows. 2008-09-09 [2017-02-16]. 

外部链接

参见