Gecko (renderingsmotor)

Gecko är en öppen källkods-webbläsarlayoutmotor som används i alla Mozillaprodukter och i senare Netscapeprodukter. Gecko är skriven i C++ och designad för att stödja öppna internetstandarder. Gecko utvecklades ursprungligen av Netscape Communications Corporation men dess nuvarande utveckling sker under Mozilla foundation.

Gecko erbjuder ett API som gör den lämplig för Internetprogram med en mängd olika inriktningar, exempelvis webbläsare och klient/server-applikationer. I första hand används Gecko i Mozillas och Netscapes webbläsare men kan lika väl användas i andra program. Gecko är en kors-plattform och fungerar i många olika operativsystem som till exempel Windows, GNU/Linux, Mac OS Classic, Solaris.

Gecko anses vara den näst mest populära layoutmotorn efter Trident (använd i Internet Explorer för Windows).

Standarder 
Här är en del av de standarder som Gecko stöder:

HTML 4.0 (delvis stöd för HTML5)
CSS 2.1 (delvis stöd för CSS 3)
JavaScript 1.8 (ECMAScript 3 och delvis stöd för ECMAScript 5)
XML 1.0
XHTML 1.1
XSTL och Path
MathML
XForms (via en officiell extension)
SVG
CSS
DOM
RDF

Gecko har ett begränsat stöd för Internet Explorers standarder som <marquee>-taggar och document.all.

Historia 
Utvecklingen av en layoutmotor med namnet Gecko påbörjades på Netscape 1997. Den dåvarande renderingsmotorn som användes i Netscape Navigator 1.0 behövde en uppdatering då den inte klarade W3C-standarder fullt ut och hade begränsat stöd för dynamiska HTML-sidor.
Den nya renderingsmotorn utvecklades parallellt med den gamla med målet att integrera den i Netscape Communicator när den var färdig och stabil. De hade räknat med en sista stor utgivning före byte av renderingsmotor.

Efter starten av Mozilla-projektet i början av 1998 blev den nya renderingsmotorns kod utgiven under en öppen källkodslicens under namnet Raptor. Men på grund av varumärkesproblem blev namnet bytt till NGLayout (Next Generation Layout). Efter en tid döpte Netscape om NGLayout till Gecko som var ett Netscape-varumärke. Mozilla använde NGLayout en period men började efter ett tag att använda Gecko. Gecko användes för att ge uppmärksamhet åt NGLayout-renderingsmotorn och XPFE (cross-platform-front-end) och Mozillas nya XML-användargränssnitt men är numera endast för att framhäva Gecko.

I oktober 1998 meddelade Netscape att deras nästa webbläsare skulle använda Gecko istället för den gamla renderingsmotorn, vilket medförde att en del av programmet måste skrivas om. Beslutet var omtyckt bland standardförespråkare men inte lika omtyckt bland Netscapes programmerare som var missnöjda med att de bara hade 6 månader på sig för att skriva om de delarna. Det betydde också att stora delar av arbetet med Netscape Communicator 5.0 och den gamla renderingsmotorn hade varit onödigt. Netscape 6 blev utgiven i november 2000 och var den första Netscape-webbläsaren som använde Gecko. Namnet Netscape 5 användes aldrig.

Vart efter Gecko blev mer utvecklad började andra program att använda den. America Online, som är Netscapes ägare, började använda Gecko i CompuServe 7.0 och America Online för Mac OS som tidigare hade varit baserade på Internet Explorer. För undantag för några betautgivningar har Gecko inte använts i AOL:s Windowsklienter.

15 juli 2003 avslutade Netscape utvecklingen av Gecko. Samma dag bildades Mozilla Foundation (tidigare Mozilla Organizaton). De började då utveckla Gecko med anställda på Mozilla Foundation, andra företags anställda som stödde Mozilla Foundation och frivilliga.

Framtid 
Inom en snar framtid kommer Gecko troligen att börja stöda teknologier utvecklade av Web Hypertext Application Technology Working Group.

En stor ändring i 1.9 kommer att bli den grafiska infrastrukturen.  I stället för att använda plattformar (API) så ska man använda Cairo som kommer att bli använd för grafik utdata (outputs). Det kommer leda till en förbättrad 2D-grafik, prestanda och genom Glitz-acceleration för 3D-hårdvara som leder till att det blir en enda renderingsledning.
För HTML/CSS, Canvas och SVG ges en möjlighet till att tillsätta SVG-effekter till HTML-material. Med Cairo blir det möjligt att spara en sida i grafikformat som PNG och PDF genom ”Spara objekt som PDF”.

Geckobaserade applikationer 
Webbläsare
Mozilla Application Suite
Mozilla Firefox
America Online för Mac OS
Aphrodite
Beonex Communicator
Camino för Mac OS
CompuServe 7.0 för Windows och Mac OS
DocZilla för Windows och Linux
Epiphany för POSIX
Flock
Galeon för POSIX
IBM Web Browser för OS/2
K-Meleon för Windows
Kazehakase för POSIX
ManyOne
Minimo (webbläsare för mindre apparater)
Netscape 6.0+8.0
Salamander för GNU/Linux och möjligen POSIX
SeaMonkey
Skipstone för POSIX
Andra
ActiveState Komodo ( Visualutvecklingsmiljö för Perl, Python med fler för Windows och Linux)
Mozilla ActiveX Control ( möjliggör enkel utveckling av ActiveX för Gecko applikationer)
Mozilla Calendar ( Kalender och personlig informationsapplikation)
Mozilla Thunderbird(E-mail och nyhetsgrupp-klient)
Nvu (Webbutvecklingsprogram)
Gecko# för Windows (.NET för Gecko)

Externa länkar 
Mozilla.org - Mozilla Layout Engine
Mozilla Wiki - Gecko:Home Page
Mozilla SVG Update
Robert O'Callahans blog - Glimpse Of The Future
Mozilla Wiki - Mozilla2:GFXEvolution
Mozilla.org - Gecko 1.9 Roadmap
cbeard's mozilla blog - Mozilla Product Strategy Proposal
Web browser standards support

Fria webbläsare