Gecko FAQ

Diese Übersetzung ist unvollständig. Bitte helfen Sie, diesen Artikel aus dem Englischen zu übersetzen.

Was ist Gecko?

Gecko ist eine Open-Source Browser-Engine, die entworfen wurde, freie Webstandards wie HTML 4, CSS 1 und 2, das W3C DOM, XML, JavaScript, und andere zu unterstützen.

Viele Browser wie Mozilla Firefox, SeaMonkey, Camino, und andere nutzen Gecko. Gecko wird unter mozilla.org ständig weiterentwickelt. Früher war gecko unter Codenamen wie "Raptor" und "NGLayout" bekannt; der neue Name wurde infolge eines Urheberrechtsstreits gewählt.

Für weitere Informationen besuche den Wikipedia-Artikel über Gecko.

Was ist eine Layout-Engine?

Eine Layout-Engine nimmt Inhalt (wie HTML, XML, image files, applets, and so on) und Informationen zur Formatierung (wie Cascading Style Sheets, HTML tags, etc.) und zeigt den formatierten Inhalt auf dem Bildschirm an. Der Inhalt wird auf dem weißen Areal im Browserfenster angezeigt.

Eine Layout-Engine legt fest, wo der Inhalt eines Dokuments auf dem Bildschirm angezeigt wird. Gecko's core ist eine sehr schnelle Layout-Engine. Gecko ist außerdem in der Lage, viele verschiedene Dokumenttypen (HTML, XML, SVG, etc) darzustellen, verfügt fortgeschrittene Rendering-Technologien wie Compositing und Transformationen und unterstützt eingebettetes Java-Script und Plugins.

Gecko ist so schnelle und mächtig, das es ebenfalls manchmal dazu verwendet wird, die Oberflächen einiger Anwendungen darzustellen. Mit anderen Worten, Gecko zeigt nicht nur den Inhalt des Dokuments an, sondern wird auch die Scrollbars, Toolbars, und Menüs der Anwendung zeichnen. Für mehr Informationen, siehe hier: XUL.

Wie unterscheidet sich eine Layout-Engine wie Gecko von einem Webbrowser?

Gecko ist das Fundament, das gebraucht wird, um Inhalt auf dem Bildschirm anzeigen zu lassen. Dies beinhaltet die Engine und eine ergänzende Sammlung von Browserkomponenten. Jedoch zeigt Gecko diese Komponenten nicht in einer Benutzerfreundlichen Anwendung (mit Menüs, Toolbars usw.) wie Firefox an.

mozilla.org versammelt diese Komponenten in Produkten wie Firefox, Thunderbird, SeaMonkey und Camino, die auf mozilla.org kostenlos zum Download bereitstehen. Netscape brachte seinen eigenen Browser, genannt Netscape Navigator, heruas. Andere Hersteller bieten ihre eigenen Software- und/oder Hardwareprodukte an, die Gecko verwenden. Schau auf XULRunner Hall of Fame nach, um eine Liste aller Applikationen zu finden, die Gecko via XULRunner nutzen.

Dritte wie ISVs und Hardwareanbieter suchen sich die Komponenten heraus, die sie auf ihren Geräten verwenden wollen. Bestimmte Browserkomponenten wie die Lesezeichen, die Chronik, das Addressbuch usw. sind kein Teil von Gecko. Dennoch kann der Sourcecode all dieser Komponenten kostenlos auf mozilla.org heruntergeladen werden.

Warum ist Gecko entstanden?

Der ursprüngliche Browser von Mozilla, bekannt als Navigator 1.0, wurde relativ schnell von einer kleinen Gruppe von Entwicklern programmiert, die beabsichtigten, einen neuen Knaller zu entwickeln, und sie hatten Erfolg. Das Web allerdings hat sich weiterentwickelt und es wurde eine neue Layout-Engine benötigt, auf der aufbauend zukünftige Produkte entwickelt werden konnten. Gecko stellt eine wegeweisende neue Klasse von dynamischem Inhalt zur Verfügung, die interaktiver ist und mehr Kontrolle durch Web-Entwickler erlaubt, indem sie freie und empfohlene Internetstandards an Stelle von proprietären APIs nutzt. Du bist herzlich eingeladen, mitzumachen.

Wie nutzt mozilla.org Gecko?

mozilla.org versammelt Gecko und andere Komponenten in ihren Browseranwendungen.

Wie nutzt Mozilla Gecko?

Gecko ist das Herz von Firefox und anderen Produkten von Mozilla. Technologien von Gecko betreiben ebenso das mozilla.com Portal indem sie blitzschnell mehr aufregende Inhalte und Dienste zur Verfügung stellen. Die Architektur von Gecko wird Mozilla erlauben, in Zukunft den Markt schneller zu erreichen, mehr Innovation, weniger kostenaufwändige Entwicklung, leichtere Verbreitung und Updates und eine höhere Plattformunabhängigkeit zu erreichen.

How can other companies and organizations use Gecko?

Because Gecko is small, lightweight, and open source, other companies and organizations can easily reuse it. Many hardware vendors are creating devices with network access and wish to include web browsing functionality. Likewise, many software developers want to include Web browsing capability in their applications, but don't want to independently develop browser software. These developers can pick and choose the browser components they want from among those that Gecko offers, and package these components alongside their own within their finished products.

Which open standards is the Gecko development project working to support, and to what extent does it support them?

By the end of calendar year 2000, Gecko is expected to support the following recommended open Internet standards fully except for the areas noted below and open bugs documented in Bugzilla:

  • HTML 4.0 - full support except for:
    • elements: BDO, BASEFONT
    • attributes: shape attribute on the A element, abbr, axis, headers, scope-row, scope-col, scope-rowgroup, scope-colgroup, charoff, datasrc, datafld, dataformat, datapagesize, summary, event, dir, align on table columns, label attribute of OPTION, alternate text of AREA elements, longdesc
    • various metadata attributes: cite, datetime, lang, hreflang
    • bidirectional text layout, which is only used in Hebrew and Arabic (IBM has begun work to add bidi support in a future release)
  • Style Sheets
    • CSS 1 - full support, except for:
      • the application of styles to HTML column elements
      • the ability to turn off author styles
      • the names of certain Mozilla extension pseudo-classes lack the moz- prefix
    • CSS 2 - partial support is expected and has already been built into Gecko, including support for CSS2 positioning, but no commitment has been made to achieve a specific level of support
  • DOM
    • Level 0
    • Level 1 Core: full support
      • making EntityReferences available through DOM1; per a provision of the DOM1 spec for XML implementations, Entities will be automatically expanded inline and therefore not available through DOM1; our implementation extrapolates this provision to apply to EntityReferences as well
      • For more information, see the DOM in Mozilla
    • Level 1 HTML
    • DOM 2 - Most of it has already been implemented in Gecko, including support for DOM 2 events, the DOM 2 Style, and the DOM2 Core. DOM 3 support is also planned for a future release.
  • XML 1.0: full support, except for processing to manipulate default attributes
  • RDF: full support, except for aboutEach, aboutEachPrefix, and parseType
  • JavaScript 1.5, including ECMA-262 Edition 3 (ECMAscript) compliance, except for Date.toDateString and Date.toTimeString, which are not implemented
  • Transfer protocols: HTTP 1.1 (including gzip compression), FTP
  • SSL
  • Unicode
  • OJI (Open Java Interface)
  • Image formats
    • PNG
    • GIF
    • JPEG, PJPEG

Does "full support" mean that Gecko has zero bugs today or will have zero bugs at some point in the future?

Of course not. As Robert O'Callahan notes in Bug 25707, "Full HTML4/CSS1 compliance can't mean '100% bug free'. If it does, no-one will ever ship a fully compliant browser."

Because web pages can be arbitrarily long and complex and have arbitrarily deeply nested markup, it will always be possible to construct web pages that do not display in a given browser the way the specifications would recommend. So long as QA testing and test case development continues, there will always be known bugs at any given point in time in the open-source Gecko codebase, and it follows that every commercial product that has ever shipped and ever will ship based on Gecko will have known bugs at the time of its release. (The same principle of course applies to other browser engine development projects and products based upon them as well.)

Known bugs in the open-source Gecko codebase are documented in Bugzilla. Here are some links to lists of reported bugs related to the standards mentioned above; be aware that these raw lists of open in-process bugs will inevitably include some duplicate, out of date, unreproducible, invalid, and incorrectly tagged reports:

The links themselves are probably outdated too.

For information about the known bugs of a specific commercial product based on Gecko, see that product's release notes.

How does Gecko format XML documents?

Gecko supports the use of CSS and XSLT to format XML documents.

For XML documents without associated CSS or XSLT, Gecko displays the pretty-printed source of the document.

How does Gecko help content developers?

Content developers are sick and tired of developing and testing every single web page multiple times in order to support the different, incompatible, proprietary DOMs of browsers from different vendors. They have been demanding that all vendors fully support the open standards listed above so that they can

  1. have a rich, powerful formatting system and object model at their disposal, and
  2. "write once, view anywhere."

Gecko's robust support for these standards makes Gecko the platform of choice for web content and web application developers worldwide.

Are Gecko's APIs based on ActiveX? COM? JavaBeans?

Gecko is reusable on all platforms thanks to XPCOM, a subset of COM that works across platforms. COM, developed by Digital and later adopted by Microsoft, is the de facto standard for modular interfaces on Windows platforms.

Additionally, on the Windows platform, Gecko's XPCOM interfaces are wrapped in an ActiveX control that VB developers can utilize (ActiveX wrappers are not available on other platforms because ActiveX is a Windows-only technology).

A JavaBean wrapper is not currently under development, but there is nothing in Gecko's architecture that precludes such development in the future. Source code and documentation for these interfaces are available through mozilla.org.

For future embedding API plans, see wikimo:Mozilla 2:Embedding APIs.

Are Gecko's APIs compatible with Microsoft's Trident APIs?

Gecko's XPCOM interfaces are different than Microsoft's. The most important differences between the two models involve reflection of the Document Object Model (DOM) in the interfaces.

Microsoft's Trident interfaces reflect the DOM in a proprietary API, whereas Gecko exposes the DOM according to the W3C's recommended standard. Other incompatibilities exist. Adam Lock created a partial compatibility layer that may enable developers to more easily migrate from Microsoft's engine to the Gecko engine.

Which platforms does Gecko run on?

Gecko runs today on Win32 (Windows XP Service Pack 2, Windows Vista, Windows 7, Windows 8, Windows 8.1), Mac OS X 10.5 and later, and Linux. OEMs and contributors from the Net participating in mozilla.org are porting Gecko to other platforms. Such porting efforts are underway for Solaris, HP/UX, AIX, Irix, OS/2, OpenVMS, BeOS, and Amiga, among others.

Older versions of Gecko supported earlier versions of Win32 and Mac OS X.

What are the components of Gecko?

Gecko includes the following components:

  • Document parser (handles HTML and XML)
  • Layout engine with content model
  • Style system (handles CSS, etc.)
  • JavaScript runtime (SpiderMonkey)
  • Image library
  • Networking library (Necko)
  • Platform-specific graphics rendering and widget sets for Win32, X, and Mac
  • User preferences library
  • Mozilla Plug-in API (NPAPI) to support the Navigator plug-in interface
  • Open Java Interface (OJI), with Sun Java 1.2 JVM
  • RDF back end
  • Font library
  • Security library (NSS)

Original Document Information

  • Author(s): Angus
  • Other Contributors: Ekrock, Vidur, Hidday, Drunclear
  • Copyright Information: Portions of this content are © 1998–2006 by individual mozilla.org contributors; content available under a Creative Commons license

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: LarsS
 Zuletzt aktualisiert von: LarsS,