Gecko

A Wikipédiából, a szabad lexikonból.

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 késöbbi váltotatait) 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 Foundation folytatta (folytatja).

A Gecko, mivel egy gazdagon kihasználható illesztőfelülettel rendelkezik, megtalálható az internetes programok széles sklálájának belsejében, mint például a webböngészők, bemutatókezelők és kliens–szerver alkalmazások [1]. 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 a Gecko a második legelterjedttebb böngészőmotor az Interneten, az első pedig a Trident néven ismert motor (a Windowsos Internet Explorer motorja), ezt követi a KHTML (Konquerorban használt motor), a WebCore (a Safari böngészőmotor), a Presto (az Opera motorja) és a Tasman (az Internet Explorer Macintosh verziójában használt motor).

Tartalomjegyzék

[szerkesztés] Szabványtámogatás

Kezdetekben a Gecko-t a nyílt Internet szabványok támogatására fejlesztették ki. Néhány a Gecko-ban megtalálható támogatott szabvány:

  • HTML 4.0
  • XML 1.0
  • XHTML 1.1
  • MathML
  • CSS Level 1 (a CSS 2 és 3 részleges támogatása)
  • DOM Level 1 and 2 (DOM 3 részleges támogatása)
  • RDF
  • JavaScript 1.5

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.

[szerkesztés] 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égegy 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)[2], végülis 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ülis 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 ezidő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 (ezekben a termékekben azelött az Internet Explorer volt beépítve). Mindazonáltal, néhány béta teszt 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.

[szerkesztés] 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 [3].

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, pl. „Oldal mentése PDF-ként”.

[szerkesztés] Gecko bázisú alkalmazások

[szerkesztés] 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*
  • Q.BATi (halott tervezet, nem érte el az alfa állapotot)
  • Salamander GNU/Linux rendszerekre
  • SeaMonkey(korábban Mozilla Application Suite)*
  • Skipstone GNU/Linux rendszerekre

[szerkesztés] Más alkalmazások

  • ActiveState Komodo (Vizuális fejlesztőeszköz Perl, Python és más nyelvekhez Windows és Linux rendszerekre) [4]*
  • 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)[5]*

* A saját felhasználói felületének megjelenítését is a Gecko biztosítja az XUL segítségével.

[szerkesztés] Lásd még

[szerkesztés] Külső hivatkozások