Gecko (Software)
Gecko / libxul
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Mozilla Foundation |
Erscheinungsjahr | 1998 |
Aktuelle Version | 1.8.1.12 (7. Februar 2008) |
Betriebssystem | Plattformunabhängig |
Programmiersprache | C++, JavaScript, Rust |
Kategorie | Engine-Bibliothek |
Lizenz | MPL/GPL/LGPL Mehrfachlizenzierung |
developer.mozilla.org/en-US/docs/Glossary/Gecko |
Gecko, auch Gecko Rendering Engine, ist ein Software-Modul, das vor allem in einer Reihe von Internet-Browsern eingesetzt wird, um Seiten aus dem World Wide Web darzustellen. Das Modul liesst etwa HTML- und CSS-Codedateien sowie Mediadaten ein und stellt das Ergebnis auf dem Bildschirm als formatierten Text, Grafik usw. dar - das Rendern.
Gecko wird vor allem in den Produkten von Mozilla wie Firefox, SeaMonkey oder Thunderbird eingesetzt.
Aktuell - Frühjahr 2008 - wird an der Version 1.9 gearbeitet, die zusammen mit Firefox 3 noch vor dem Sommer erscheinen soll.
Technik
Ein besonderes Augenmerk bei der Entwicklung von Gecko wird auf die vollständige Unterstützung von offenen Internet-Standards wie XHTML und das ältere HTML, CSS, das Document Object Model des W3C, XML, RDF und JavaScript gelegt.
Die Gecko-Engine wurde in der Programmiersprache C++ geschrieben. Sie ist freie Software und kann daher kostenlos von jedermann benutzt und unter den Bedingungen der MPL für seine Anforderungen angepasst werden. Frühere Namen von Gecko waren Raptor und NGLayout. NGLayout bedeutete eigentlich „Next Generation Layout“, es wurde aber später oft mit „Netscape Gecko Layout“ übersetzt.
Zu der Engine gehört auch eine Editor-Komponente, welcher Plaintext und HTML unterstützt.[1]
Anwendungen können das Modul mit der Gecko-Bibliothek libxul, über XULRunner (welches selbst libxul verwendet) oder über eine Gecko-Software mit eigener integrierter Laufzeitumgebung wie Mozilla Firefox bis Version 2 nutzen, bzw. sie sind selbst eine.
Unterstützte Standards
- HTML 4.01
- XML 1.0
- XHTML 1.1
- MathML
- XForms (per offizieller Erweiterung)
- SVG (teilweise Unterstützung für SVG 1.1, siehe Mozilla SVG Status für Details)
- CSS Level 1 (teilweise Unterstützung für CSS 2 und 3, siehe Mozilla CSS support chart für Details)
- XSLT
- DOM Level 1 und 2 (teilweise Unterstützung für DOM 3)
- RDF
- JavaScript 1.7
Versionen
Legende: | alte Version | aktuelle Version | aktuelle Vorabversion | künftige Version |
---|
Version | Veröffentlichung | Wichtigste Änderungen |
---|---|---|
1.2 | 23. September 2002 | Diese Version wird von Phoenix 0.1 und 0.3 genutzt. |
1.3 | 19. Oktober 2002 | Diese Version wird von Phoenix 0.4 und 0.5 genutzt. |
1.5 | 17. Mai 2003 | Diese Version wird von Firebird 0.6 bis 0.7 genutzt. |
1.6 | 9. Februar 2004 | Diese Version wird von Firefox 0.8 genutzt. |
1.7 | 15. Juni 2004 | Diese Version wird von Firefox 0.9 bis 1.0 genutzt. |
1.8 | 29. November 2005 | Unterstützung für SVG und Canvas, Verbesserungen in JavaScript 1.5 und CSS 2/3. Diese Version wird von Firefox 1.5 genutzt. |
1.8.1 | 24. Oktober 2006 | Diese Version wird von Firefox 2 genutzt. |
1.9 | Q1 2008 | Eines der Hauptziele von Gecko 1.9 ist die Grundüberarbeitung der grafischen Ausgabe. Statt der Plattform-API wird die plattformübergreifende Grafikbibliothek Cairo verwendet werden. Damit kann die Bildschirmausgabe mit 3D-Grafikhardware beschleunigt werden. Außerdem wird es möglich sein, die Ausgabe in Formaten wie PNG oder PDF zu speichern. So kann der Benutzer Webseiten in diese Formate exportieren.
Außerdem wird im Reflow-Refactor-Branch (englisch) der Code stark überarbeitet, um z. B. CSS-Befehle wie inline-block zu ermöglichen. Damit wird dann auch der Acid2-Test bestanden. Gecko 1.9 wird voraussichtlich in Firefox 3 benutzt werden.[2] |
2.0 | 2009 |
Verwendung
Die Browser Netscape Navigator, Mozilla, SeaMonkey sowie Mozilla Firefox verwenden die Gecko Rendering Engine zur Anzeige von Inhalten. Aber auch die Benutzeroberfläche wird bei diesen Browsern von der Gecko Engine gerendert. Hierzu wurde von Mozilla XUL als Beschreibungssprache für GUIs entwickelt, die von Gecko interpretiert wird. XUL-Anwendungen können dazu XULRunner als Laufzeitumgebung nutzen. Es gibt auch Anwendungen wie Mozilla Sunbird, die (X)HTML-Rendering nicht verwenden. Für die Plattform Mac OS X ist Gecko in Mozilla Camino, für Linux z. B. in Galeon (für GNOME-Desktop mit GTK+ 2-Bibliothek), Epiphany und Skipstone integriert.
Programme, die Gecko zum Rendern von HTML- und XML-Inhalten nutzen, sind unter anderem:
Name | Plattform | XUL-Oberfläche | verwendet libxul | XULRunner-Anwendung |
---|---|---|---|---|
XULRunner | POSIX-kompatible (Linux), Microsoft Windows, Macintosh u.a. | Ja | Ja | Nein |
Mozilla Firefox | POSIX-kompatible (Linux), Microsoft Windows, Macintosh u.a. | Ja | Nein | Nein |
Mozilla Thunderbird | POSIX-kompatible (Linux), Microsoft Windows, Macintosh u.a. | Ja | Nein | Nein |
Mozilla Sunbird | Windows, Linux, Mac OS X, u. a. | Ja | ||
Songbird | Ja | |||
Nvu / Kompozer | Ja | Nein | ||
Instantbird | XULRunner | Ja | Ja | Ja |
Mozilla Prism | XULRunner | Ja | Ja | |
AOL-Software | Mac OS X | Nein | ||
Beonex Communicator | Nein | |||
CompuServe 7.0 | Windows und Mac OS X | Nein | ||
Epiphany GNOME-Webbrowser | Unix-ähnliche Betriebssysteme, Linux | Nein | Ja | Nein |
Flock | Ja | Nein | ||
Kazehakase – GTK+ 2 (ohne GNOME) | Unix-ähnliche Betriebssysteme, Linux | Nein | ||
K-Meleon | Windows | Nein | Nein | |
Liferea für Linux | Unix-ähnliche Betriebssysteme, Linux | Nein | Ja | Nein |
Maxthon (Umschaltbar zwischen Internet Explorer und Gecko Rendering Engine) | Windows | Nein | Nein | |
Mezzo-Desktop von Symphony OS | Unix-ähnliche Betriebssysteme, Linux | |||
Minimo | Familiar Linux und Windows CE | Nein | ||
Mozilla ActiveX Control | Nein | |||
Nautilus aus GNOME | Nein | |||
Q.BATi | Mac OS X | Nein | ||
Mozilla Camino | Mac OS X | Nein | ||
Salamander | Unix-ähnliche Betriebssysteme, Linux | Nein | ||
uBrowser | Nein |
Siehe auch
- HTML-Rendering
- KHTML
- Presto, Rendering Engine von Opera
- WebKit
- Liste von Webbrowsern
Quellen
Weblinks
- Gecko Embedding FAQ (englisch)
- Version 1.9 Roadmap