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)