A Gecko egy nyílt forrású böngészőmotor, melyet a Mozilla családba tartozó szoftverek, és azok leszármazottjai (beleértve a Netscape Navigator későbbi változatait) a webes tartalmak megjelenítéséhez használnak. A motort C++ nyelven írták a nyílt webes szabványok támogatásának elősegítésére. Eredetileg a Netscape Communications Corporation készítette a szoftvert, majd a munkát a Mozilla Alapítvány vette át és folytatja azóta is.
A Gecko, mivel egy gazdagon kihasználható illesztőfelülettel rendelkezik, megtalálható az internetes programok széles skálájának belsejében, mint például a webböngészők, bemutatókezelők és kliens–szerver alkalmazások.Embedding Mozilla Elsődlegesen a Mozilla böngésző részére készül a motor, a leszármazottak, mint például a Netscape és a Mozilla Firefox azonban legalább olyan jól illeszkednek a böngésző lelkét képező programhoz, mint a fő fejlesztési célpont. A Gecko több-platformos fejlesztés, így sokféle operációs rendszeren működik, beleértve a Windowst, a Linuxot és a Mac OS X-et is.
Jelenleg (2017 júniusában) a Gecko a második legelterjedtebb böngészőmotor a KHTML-leszármazottak (Blink – Google Chrome, WebKit – Safari, U3 – UC Browser stb.) után 6-7%-os részesedéssel.
Szabványtámogatás Kezdetekben a Geckót a nyílt internetszabványok támogatására fejlesztették ki. Néhány a Geckóban megtalálható támogatott szabvány:
HTML 5.0 XML 1.0 XHTML 1.1 MathML CSS Level 1 (a CSS 2 és 3 támogatása is) DOM Level 1 and 2 (DOM 3 részleges támogatása) RDF JavaScript 1.8
Ahogy a Tasman (az Internet Explorer Macintosh verziójának motorja), úgy a Gecko is támogatja a DOCTYPE figyelését. A korszerű DOCTYPE-pal ellátott dokumentumokat a motor „szabvány-kompatibilis”, a W3C szabványait pontosan követő üzemmódban jeleníti meg. Amely dokumentumok nem rendelkeznek DOCTYPE-pal, vagy egy régi DOCTYPE verziót használnak, a „quirks mode” szerint renderelődnek. Ebben az üzemmódban a motor olyan nem szabványos furcsaságokat is támogat, amelyeket a Netscape Communicator 4.x verziói használtak (bár néhány a 4.x extráiból, mint például a layer-ek, nem támogatott).
A Gecko néhány nem szabványos Internet Explorer szolgáltatást is támogat, mint amilyen a <marquee> tag és a document.all tulajdonság (bár a document.all-kompatibilitást tesztelő oldalaknak úgy válaszol, mintha nem támogatná). Ez javítja a kompatibilitását az Internet Explorerre tervezett dokumentumokkal, de a szabványosítás evangélistái szerint gátolja a szabványok terjedését.
Történelem A böngészőmotort a Netscape fejlesztése során 1997-ben nevezték el Gecko-nak, miután a cég a DigitalStyle-tól megvette azt. A Netscape megjelenítő motorját eredetileg a Netscape Navigator 1.0 részére írták és ezt a magot fejlesztgették tovább az évek során, de alulmaradt az egyeduralkodó Internet Explorerrel folytatott harcban. Lassú volt, a W3C ajánlásaival nem működött együtt, a DHTML támogatása korlátozott volt, néhány funkció teljesen hiányzott, mint például a tartalom újratöltése (amikor a motor újrarendezi az elemeket a képernyőn, és az oldalhoz adja azokat). Az új böngészőmotort a régivel párhuzamosan fejlesztették, azzal a céllal, hogy azt integrálják azt a Netscape Communicator magjába, ha stabillá és éretté válik arra. Legalább még egy nagy Netscape átdolgozásra lett volna szükség ahhoz, hogy a régi magba be lehessen építeni az új fejlesztések eredményeit.
Miután a Mozilla projekt 1998 elején elindult, az új böngészőmotort nyílt forrásúvá tették. Eredetileg Raptor, majd az NGLayout (next generation layout – újgenerációs szerkezet) néven emlegették, ám mindkettőnél szerzői jogi problémák adódtak. A Netscape később átnevezte az NGLayout-ot a mai Gecko névre. Bár a Mozilla Szervezet (a későbbi Mozilla Alapítvány) kezdetben az NGLayout nevet volt kénytelen használni (A Gecko a Netscape védett neve volt), végül is a Gecko elnevezés nyert. Egy ideig a Gecko név egyszerre utalt a régi NGLayout böngészőmotorra és az XPFE-re (kereszt-platformos frontend) – az új XML-alapú Mozilla felhasználói felület, melynek az NGLayout volt a motorja – de ma már csak a programok magját alkotó böngészőmotort nevezzük e néven.
1998 októberében a Netscape bejelentette, hogy újabb böngészőjét a Gecko (amit még mindig NGLayout néven említettek) motorral szándékozik elkészíteni, inkább mintsem a régi motort használnák, ez szükségessé tette nagyobb részek újraírását az alkalmazásban. Bár ez a döntés a webes szabványok követését könnyebbé tette, a Netscape fejlesztők dolgát mégis nagyon megnehezítette, akik nagyon nem örültek annak, hogy hat hónapot kaptak az újraírásra. Végül is ez volt az leginkább, ami ahhoz vezetett, hogy a Netscape Communicator 5.0 (és ezáltal a régi motor felújított változatának, a Marinernek) munkálatait félbehagyták. A Netscape 6 volt az első Netscape, amelyben Gecko szív dobogott. Ez a verzió 2000 novemberében jelent meg (A Netscape 5 nevet soha nem használták).
Ahogy fejlődött a Gecko motor, más alkalmazásokban is elkezdték használni azt. Az America Online, mely ez idő tájt a Netscape szülőcége volt, véglegesen áttért erre a motorra a CompuServe 7.0 és a Mac OS X-re szánt AOL programjaiban (Ezekbe a termékekbe azelőtt az Internet Explorer volt beépítve). Mindazonáltal, néhány bétateszt kivételével, a Gecko nem lett magja a Microsoft Windows AOL kliensének.
2003. július 15-én az AOL elbocsátotta a még nála dolgozó Gecko-fejlesztőket és a Mozilla Alapítvány (mely ezen a napon alakult) vette át a Gecko fejlesztését. Ma a Mozilla Alapítvány utódjaként alakult Mozilla Company fizetett alkalmazottai felelősek a Gecko fejlesztéséért.
Jövőbe tekintés A Gecko fejlesztői további, jelenleg nem (teljesen) támogatott nyílt szabványok támogatását kívánják a motorba építeni, mint amilyen az XForms és az SVG. Ez például abban is megmutatkozik, hogy a Gecko támogatni fogja azokat a technológiákat, melyeket a WHATWG fejleszt a közeljövőben. Dolgoznak a HTML azon új mezőelemeinek támogatásán, amelyeket a WHATWG 2005. április 19.-én publikált.
A nagy fejlesztési tervek egyike az 1.9-es verzióban tervezett grafikus infrastruktúra újragondolás. Az operációs rendszerek API-jának használata helyett a Cairo minden grafikus felületen használható lesz. Fejlettebb 2D grafikus képességek várhatóak, és a Glitz jóvoltából a 3D grafikus hardverek gyorsítását is ki fogja használni. Ez azt is jelenti majd, hogy egyetlen csővezeték (pipeline) elég lesz a HTML/CSS, a felület és az SVG megjelenítéséhez, így az SVG hatások érvényesíthetőek lesznek a HTML tartalmakra. A Cairo lehetővé fogja tenni a grafikák konvertálását más formátumokba, mint PNG és PDF, például „Oldal mentése PDF-ként”.
Gecko bázisú alkalmazások Webböngészők Mozilla Firefox* AOL Mac OS X alá Aphrodite* Beonex Communicator* Camino Mac OS X rendszerekre CompuServe 7.0 Windows és Mac OS X rendszerekre DocZilla Windows és Linux rendszerekre Epiphany GNU/Linux rendszerekre Galeon Linux rendszerekre IBM Web Browser OS/2 rendszerekre* K-Meleon Windows rendszerekre Kazehakase Linux rendszerekre ManyOne* Minimo (böngésző kézi eszközökre) Netscape 6.0 és utódai* Pale Moon (Goanna nevű fork és Firefox 28 felület)* Q.BATi (halott tervezet, nem érte el az alfa állapotot) Salamander GNU/Linux rendszerekre SeaMonkey(korábban Mozilla Application Suite)* Skipstone GNU/Linux rendszerekre Waterfox
Más alkalmazások ActiveState Komodo (Vizuális fejlesztőeszköz Perl, Python és más nyelvekhez Windows és Linux rendszerekre)ActiveState Komodo Liferea (news aggregator Linuxra) Mozilla ActiveX Control (az ActiveX fejlesztők számára Gecko-használatot tesz lehetővé) Mozilla Calendar (naptár és határidőnapló alkalmazás)* Mozilla Thunderbird (e-mail/hírcsoport kliens és news aggregator)* Nvu (web authoring application)* Gecko# Windowsra (.NET Binding for Gecko)* * A saját felhasználói felületének megjelenítését is a Gecko biztosítja az XUL segítségével.
Jegyzetek
További információk Mozilla Layout Engine Gecko Wiki Mozilla SVG Update Glimpse Of The Future Mozilla2:GFXEvolution
Kategória:Szabad szoftverek Kategória:Böngészőmotorok Kategória:Nyílt forrású szoftverek