# Gecko (Software)

Gecko ist eine freie Browser-Engine, die vor allem in einer Reihe von Webbrowsern eingesetzt wird, um Webseiten darzustellen. Die Software liest HTML-Dateien, Style Sheets sowie weitere Ressourcen (etwa Mediadaten) ein und stellt das interpretierte Ergebnis auf dem Bildschirm als formatierte Ausgabe dar.
Gecko wird vor allem in den Produkten von Mozilla wie Firefox, SeaMonkey oder Thunderbird eingesetzt. Die aktuelle Versionsnummer ist ab Version 5 identisch mit der jeweils aktuellen Firefox-Hauptversionsnummer.

## Technik

Ein besonderes Augenmerk bei der Entwicklung von Gecko wird auf die vollständige Unterstützung offener Internet-Standards wie XHTML, des älteren HTML, CSS, vom 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 die eigenen Anforderungen angepasst werden. Frühere Namen von Gecko waren Raptor und NGLayout. NGLayout bedeutete eigentlich „Next Generation Layout“, es wurde aber später oft als „Netscape Gecko Layout“ bezeichnet.
Zur Engine gehört auch eine Editor-Komponente, die Plain text und HTML unterstützt.
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.

### Unterstützte Standards

* HTML 4.01 (HTML5 wird teilweise unterstützt)
* XHTML 1.1
* XML 1.0
* MathML
* XForms (mit offizieller Erweiterung)
* SVG (SVG 1.1 wird teilweise unterstützt)
* CSS Level 1 (sowie weitgehende Unterstützung für CSS 2 und 3)
* XSLT
* DOM Level 1 und 2 (DOM 3 wird teilweise unterstützt)
* RDF
* JavaScript 1.7
* ECMAScript for XML (teilweise)
* HTTP/2

## Versionen

| Gecko- Version | Veröffentlichung | Webbrowser | Wichtigste Änderungen |
| Ältere Version; nicht mehr unterstützt: 1.2 | 23. September 2002 | Phoenix 0.1 bis 0.3 | |
| Ältere Version; nicht mehr unterstützt: 1.3 | 19. Oktober 2002 | Phoenix 0.4 bis 0.5 | |
| Ältere Version; nicht mehr unterstützt: 1.5 | 17. Mai 2003 | Firebird 0.6 bis 0.7 | |
| Ältere Version; nicht mehr unterstützt: 1.6 | 9. Februar 2004 | Firefox 0.8 | |
| Ältere Version; nicht mehr unterstützt: 1.7 | 15. Juni 2004 | Firefox 0.9 bis 1.0 | |
| Ältere Version; nicht mehr unterstützt: 1.8 | 29. November 2005 | Firefox 1.5 | Unterstützung für SVG und Canvas, Verbesserungen in JavaScript 1.5 und CSS 2/3. |
| Ältere Version; nicht mehr unterstützt: 1.8.1 | 24. Oktober 2006 | Firefox 2.0 | |
| Ältere Version; nicht mehr unterstützt: 1.9 | 17. Juni 2008 | Firefox 3.0 | Eines der Hauptziele von Gecko 1.9 war die Grundüberarbeitung der grafischen Ausgabe. Statt der Plattform-API wird die plattformübergreifende Grafikbibliothek Cairo verwendet. Damit kann die Bildschirmausgabe mit 3D-Grafikhardware beschleunigt werden. Außerdem ist es möglich, die Ausgabe in Formaten wie PNG oder PDF zu speichern. So kann der Benutzer Webseiten in diese Formate exportieren. Außerdem wurde im Reflow-Refactor-Branch (englisch) der Code stark überarbeitet, um z. B. CSS-Deklarationen wie display: inline-block zu ermöglichen. Damit wird dann auch der Acid2-Test bestanden. |
| Ältere Version; nicht mehr unterstützt: 1.9.1 | 30. Juni 2009 | Firefox 3.5 | |
| Ältere Version; nicht mehr unterstützt: 1.9.2 | 21. Januar 2010 | Firefox 3.6 | |
| Ältere Version; nicht mehr unterstützt: 2 | 22. März 2011 | Firefox 4.0 | |
| Ältere Version; nicht mehr unterstützt: 5 | 22. Juni 2011 | Firefox 5.0 | |
| Ältere Version; nicht mehr unterstützt: 6 | 16. August 2011 | Firefox 6.0 | |
| Ältere Version; nicht mehr unterstützt: 7 | 27. September 2011 | Firefox 7.0 | |
| Ältere Version; nicht mehr unterstützt: 8 | 7. November 2011 | Firefox 8.0 | |
| Ältere Version; nicht mehr unterstützt: 9 | 20. Dezember 2011 | Firefox 9.0 | |
| Ältere Version; nicht mehr unterstützt: 10 | 31. Januar 2012 | Firefox 10.0 | |
| Ältere Version; nicht mehr unterstützt: 11 | 13. März 2012 | Firefox 11.0 | |
| Ältere Version; nicht mehr unterstützt: 12 | 24. April 2012 | Firefox 12.0 | |
| Ältere Version; nicht mehr unterstützt: 13 | 5. Juni 2012 | Firefox 13.0 | |
| Ältere Version; nicht mehr unterstützt: 14.0.1 | 17. Juli 2012 | Firefox 14.0.1 | |
| Ältere Version; nicht mehr unterstützt: 15 | 28. August 2012 | Firefox 15.0 | |
| Ältere Version; nicht mehr unterstützt: 16 | 9. Oktober 2012 | Firefox 16.0 | |
| Ältere Version; nicht mehr unterstützt: 17 | 20. November 2012 | Firefox 17.0 | |
| Ältere Version; nicht mehr unterstützt: 18 | 8. Januar 2013 | Firefox 18.0 | |
| Ältere Version; nicht mehr unterstützt: 19 | 19. Februar 2013 | Firefox 19.0 | |
| Ältere Version; nicht mehr unterstützt: 20 | 2. April 2013 | Firefox 20.0 | |
| Ältere Version; nicht mehr unterstützt: 21 | 14. Mai 2013 | Firefox 21.0 | |
| Ältere Version; nicht mehr unterstützt: 22 | 25. Juni 2013 | Firefox 22.0 | |
| Ältere Version; nicht mehr unterstützt: 23 | 6. August 2013 | Firefox 23.0 | |
| Ältere Version; nicht mehr unterstützt: 24 | 17. September 2013 | Firefox 24.0 | |
| Ältere Version; nicht mehr unterstützt: 25 | 29. Oktober 2013 | Firefox 25.0 | |
| Ältere Version; nicht mehr unterstützt: 26 | 10. Dezember 2013 | Firefox 26.0 | |
| Ältere Version; nicht mehr unterstützt: 27 | 13. Februar 2014 | Firefox 27.0 | |
| Ältere Version; nicht mehr unterstützt: 28 | 18. März 2014 | Firefox 28.0 | |
| Ältere Version; nicht mehr unterstützt: 29 | 29. April 2014 | Firefox 29.0 | |
| Ältere Version; nicht mehr unterstützt: 30 | 10. Juni 2014 | Firefox 30.0 | |
| Ältere Version; nicht mehr unterstützt: 31 | 22. Juli 2014 | Firefox 31.0 | |
| Ältere Version; nicht mehr unterstützt: 32 | 2. September 2014 | Firefox 32.0 | |
| Ältere Version; nicht mehr unterstützt: 33 | 13. Oktober 2014 | Firefox 33.0 | |
| Ältere Version; nicht mehr unterstützt: 34 | 1. Dezember 2014 | Firefox 34.0 | |
| Ältere Version; nicht mehr unterstützt: 35 | 13. Januar 2015 | Firefox 35.0 | |
| Ältere Version; nicht mehr unterstützt: 36 | 24. Februar 2015 | Firefox 36.0 | |
| Ältere Version; nicht mehr unterstützt: 37 | 31. März 2015 | Firefox 37.0 | |
| Ältere Version; nicht mehr unterstützt: 38 | 12. Mai 2015 | Firefox 38.0 | |
| Ältere Version; nicht mehr unterstützt: 39 | 2. Juli 2015 | Firefox 39.0 | |
| Ältere Version; nicht mehr unterstützt: 40 | 11. August 2015 | Firefox 40.0 | |
| Ältere Version; nicht mehr unterstützt: 41 | 22. September 2015 | Firefox 41.0 | |
| Ältere Version; nicht mehr unterstützt: 42 | 3. November 2015 | Firefox 42.0 | |
| Ältere Version; nicht mehr unterstützt: 43 | 15. Dezember 2015 | Firefox 43.0 | |
| Ältere Version; nicht mehr unterstützt: 44 | 26. Januar 2016 | Firefox 44.0 | |
| Ältere Version; nicht mehr unterstützt: 45 | 8. März 2016 | Firefox 45.0 | |
| Ältere Version; nicht mehr unterstützt: 46 | 26. April 2016 | Firefox 46.0 | |
| Ältere Version; nicht mehr unterstützt: 47 | 7. Juni 2016 | Firefox 47.0 | |
| Ältere Version; nicht mehr unterstützt: 48 | 2. August 2016 | Firefox 48.0 | |
| Ältere Version; nicht mehr unterstützt: 49 | 20. September 2016 | Firefox 49.0 | |
| Ältere Version; nicht mehr unterstützt: 50 | 15. November 2016 | Firefox 50.0 | |
| Ältere Version; nicht mehr unterstützt: 51 | 24. Januar 2017 | Firefox 51.0 | |
| Ältere Version; nicht mehr unterstützt: 52 | 7. März 2017 | Firefox 52.0 | |
| Ältere Version; nicht mehr unterstützt: 52.5 | 14. November 2017 | Firefox 52.5.0esr | esr = Firefox-Version mit Langzeitunterstützung (ESR) |
| Ältere Version; nicht mehr unterstützt: 53 | 19. April 2017 | Firefox 53.0 | |
| Ältere Version; nicht mehr unterstützt: 54 | 13. Juni 2017 | Firefox 54.0 | |
| Ältere Version; nicht mehr unterstützt: 55 | 8. August 2017 | Firefox 55.0 | |
| Ältere Version; nicht mehr unterstützt: 56 | 28. September 2017 | Firefox 56.0 | |
| Ältere Version; nicht mehr unterstützt: 57 | 14. November 2017 | Firefox 57 | |
| Aktuelle Version: weiter | ersichtlich in "Versionsgeschichte von Mozilla Firefox" | Firefox folgende | |
| Legende:Ältere Version; nicht mehr unterstütztÄltere Version; noch unterstütztAktuelle VersionAktuelle VorabversionZukünftige Version ||||

## Verwendung

Die Browser Netscape Navigator, Mozilla, SeaMonkey sowie Mozilla Firefox verwenden die Gecko Rendering Engine zur Anzeige von Inhalten. Aber auch die grafische 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 macOS war Gecko in Mozilla Camino, für Linux z. B. in Galeon (für Gnome-Desktop mit GTK+-2-Bibliothek), Gnome Web (bis 2009) und Skipstone integriert. Im Juli 2011 wurde außerdem bekannt, dass Mozilla ein Handy-Betriebssystem auf Basis der Gecko-Engine entwickelt. Da Mozilla die Möglichkeit, die Gecko Layout Engine in andere Programme einzubetten, seit 2011 entfernt hat, wird Gecko mittlerweile nur noch in Mozilla-Produkten verwendet. Andere Projekte, die vormals Gecko verwendeten, sind entweder auf WebKit umgestiegen oder wurden eingestellt.
Programme, die Gecko zum Rendern von HTML- und XML-Inhalten nutzen, sind unter anderem:
| Name | Plattform | XUL-Oberfläche |
| XULRunner | Windows, macOS, Linux, u. a. | Ja |
| Mozilla Firefox | XULRunner; Windows, macOS, Linux, u. a. | Ja |
| Mozilla Thunderbird | Windows, macOS, Linux, u. a. | Ja |
| Mozilla Sunbird | Windows, macOS, Linux, u. a. | Ja |
| SeaMonkey | Windows, macOS, Linux, u. a. | Ja |
| Songbird | Windows, macOS, u. a. | Ja |
| Nightingale | Windows, macOS, Linux, u. a. | Ja |
| KompoZer (ehemals „Nvu“) | Windows, macOS, Linux, u. a. | Ja |
| Instantbird | XULRunner | Ja |
| Prism | XULRunner | Ja |
| AOL-Software | macOS | |
| Beonex Communicator | Windows, macOS, Linux, u. a. | |
| Compuserve 7.0 | Windows und macOS | |
| Gnome Web (bis 2009) | Unix-ähnliche Betriebssysteme, Linux | Nein |
| Flock (bis zur Version 2.6) | Linux, macOS, Windows | Ja |
| Kazehakase – GTK+ 2 (ohne Gnome) | Unix-ähnliche Betriebssysteme, Linux | Nein |
| K-Meleon | Windows | Nein |
| Lunascape | Windows | Nein |
| Maxthon (Umschaltbar zwischen Internet Explorer und Gecko Rendering Engine) | Windows | Nein |
| Mezzo-Desktop von Symphony OS | Unix-ähnliche Betriebssysteme, Linux | |
| Minimo | Familiar Linux und Windows CE | Ja |
| Mozilla ActiveX Control | Windows | Nein |
| Mozilla Camino | macOS | Nein |
| BlueGriffon | Windows, macOS, Linux | Ja |
| Timberwolf | AmigaOS | Ja |