Gecko
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.
Gecko | |
Fejlesztő | Mozilla Alapítvány |
Legfrissebb stabil kiadás | 106.0.5 (stabil verzió, 2022. november 4.)[1] |
Legfrissebb fejlesztői kiadás | 45.0 Beta 3 (2016. február 5.)[2] +/- |
Programozási nyelv | C++ |
Operációs rendszer | Platformfüggetlen |
Kategória | Böngészőmotor |
Licenc | MPL[3] |
A Gecko weboldala |
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.[4] 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.[5]
Szabványtámogatás
szerkesztésKezdetekben 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
szerkesztésA 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),[6] 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
szerkesztésA 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
szerkesztésWebböngészők
szerkesztés- 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
szerkesztés- ActiveState Komodo (Vizuális fejlesztőeszköz Perl, Python és más nyelvekhez Windows és Linux rendszerekre)[7]
- 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
szerkesztés- ↑ Firefox 106.0.5, See All New Features, Updates and Fixes
- ↑ Firefox — Beta Notes (45.0beta) — Mozilla
- ↑ Mozilla Licensing Policies. mozilla.org. (Hozzáférés: 2013. március 26.)
- ↑ Embedding Mozilla
- ↑ Browser Market Share Worldwide Q2 2015 to Q2 2017. StatCounter. [2017. augusztus 2-i dátummal az eredetiből archiválva]. (Hozzáférés: 2017. június 12.)
- ↑ nglayout project. [2011. június 29-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. október 31.)
- ↑ ActiveState Komodo
További információk
szerkesztés- Mozilla Layout Engine
- Gecko Wiki
- Mozilla SVG Update
- Glimpse Of The Future Archiválva 2005. június 24-i dátummal a Wayback Machine-ben
- Mozilla2:GFXEvolution