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 (Ezekbe a termékekbe 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
- Böngészőmotorok listája
- Böngészőmotorok összehasonlítása