Gecko

vykreslovací jádro prohlížeče Firefox, e-mailového klienta Thunderbird a dalších aplikací

Gecko je open source renderovací jádro používané produkty Mozilla pro vykreslování webových stránek. Je napsáno v programovacím jazyce C++ a Rust[1][2] a licencováno pod trojlicencí MPL/GPL/LGPL. Díky licenci a podpoře webových standardů je renderovací jádro používáno v řadě jiných prohlížečů jako například Flock, K-Meleon či Epiphany. Jádro bylo původně vytvořeno firmou Netscape Communications Corporation, ale nyní je vyvíjeno Mozilla Corporation.

Gecko
Logo
Vývojářdříve Netscape Communications Corporation, Mozilla Foundation a Adobe Systems, nyní Mozilla Corporation a dobrovolníci
První vydání1998
Aktuální verze106.0.5 (4. listopadu 2022)
Operační systémmultiplatformní
Vyvíjeno vC++, JavaScript a Rust[1][2]
Typ softwaruRenderovací jádro prohlížeče
LicenceMPL 2.0[3][4] licence
WebGecko (anglicky)
Některá data mohou pocházet z datové položky.

Gecko díky svému bohatému API nenabízí pouze možnost renderování webových stránek, ale slouží též vykreslování grafického rozhraní (XUL), které využívá Firefox či Thunderbird. Jedná se o multiplatformní jádro, takže je k dispozici pro řadu platforem jako Microsoft Windows, Linux, macOS a další.

Podpora standardů

editovat

Renderovací jádro Gecko podporuje celou řadu webových standardů:

Z důvodů podpory webových stránek napsaných pro staré verze prohlížečů Netscape Navigator a Internet Explorer podporuje Gecko tři režimy vykreslování stránek. Podle nalezení a verze Doctype vykresluje stránku v „režimu platných standardů“, „téměř standardním režimu“, nebo využije tzv. „režim zpětné kompatibility“, pro který se vžil název quirks mód. Mozilla's DOCTYPE sniffing

Gecko též obsahuje omezenou podporu pro některá nestandardní rozšíření Internet Exploreru jako je tag <marquee> či nedetekovanou podporu document.all [4]. To je některými uživateli vnímáno jako podkopávání snahy o prosazování webových standardů.

Historie

editovat

Vývoj renderovacího jádra Gecko začal firmou Netscape v únoru 1998. Existující renderovací jádro Netscapu, které bylo napsáno pro Netscape Navigator 1.0, a které bylo postupem let rozšiřováno, se stalo druhořadé v porovnání s renderovacím jádrem webového prohlížeče Internet Explorer. Bylo pomalé, nemělo dobrou podporu webových standardů, mělo omezenou podporu dynamického HTML a nedostatky v inkrementálním vykreslování obsahu. Od roku 1997 bylo sice toto renderovací jádro upravováno pod kódovým označením Mariner, ale to se postupem času ukázalo jako neperspektivní. Na jaře a v létě 1998 se tak pracovalo jak na vývoji Gecka, tak Marineru. Ten měl být použit v Netscape Communicatoru (5.0), ale nakonec se tak nestalo, protože vývoj tohoto produktu byl na podzim 1998 zrušen.

Po spuštění projektu Mozilla zkraje roku 1998 bylo nové renderovací jádro vydáno pod open source licencí. Prapůvodní jméno bylo Raptor, ale z důvodů porušení ochranných známek se jádro přejmenovalo na NGLayout (zkratka slov „next generation layout“). Později došlo k přejmenování na Gecko. Zpočátku Mozilla.org zůstala u jména NGLayout (Gecko byla ochranná známka Netscape [5]), ale pojmenování Gecko nakonec zvítězilo. Tehdy byl pod označením renderovacím jádrem Gecko zahrnut NGLayout a XPFE (multiplatformní grafické rozhraní), které bylo s pomocí NGLayoutu vykreslováno. Dnes je XPFE v tomto směru považováno za zavržené.

V říjnu 1998 Netscape oznámil, že jeho další webový prohlížeč bude používat renderovací jádro Gecko (tehdy ještě pojmenované jako NGLayout), namísto starého renderovacího jádra, které by vyžadovalo velkou část aplikace přepsat. Zatímco u popularizátorů webových standardů bylo toto rozhodnutí přijato kladně, vývojáři Netscape nebyli rádi, protože tím byla zahozena jejich půlroční práce. Netscape Communicator 5.0 tedy nebyl nikdy dokončen a to včetně renderovacího jádra Mariner. První Netscape, který byl založen na Gecku, byla verze 6.0, která vyšla listopadu 2000. Ta se setkala s kritikou řady uživatelů, protože využívala nehotovou verzi Gecka, což se projevovalo zejména pomalou odezvou prohlížeče.

Jak vývoj pokračoval, jiné aplikace začínaly využívat možností Gecka. America Online, tehdy již vlastník Netscape, jej využila ve svých produktech CompuServe 7.0 a AOL pro Mac OS X. S výjimkou několika betaverzí ale nebylo toto jádro použilo v hlavním AOL klientu pro Microsoft Windows.

15. července 2003 AOL ukončila podporu vývoje Gecka, které od té doby bylo vyvíjeno ve stejný čas vzniknuvší Mozilla Foundation. Později tuto úlohu převzala dceřiná společnost Mozilla Corporation, která nyní zaměstnává kmenové vývojáře jádra pro potřeby rozvoje Firefoxu, a organizuje přispěvatele z řad dobrovolníků.

Popis:
Staré verze Aktuální verze Budoucí verze
Verze Použito v
Gecko 1.0 Mozilla Suite 1.0, Netscape 7.0
Gecko 1.4 Mozilla Suite 1.4, Netscape 7.1, Mozilla Firebird 0.7
Gecko 1.7 Firefox 1.0, Thunderbird 1.0, Nvu 1.0, Mozilla Suite 1.7, Netscape 7.2, Linspire Nvu 1.0, Camino 1.0
Gecko 1.8 Firefox 1.5, Thunderbird 1.5, SeaMonkey 1.0
Gecko 1.8.1 Firefox 2, Thunderbird 2, SeaMonkey 1.1
Gecko 1.9 Firefox 3.0, SeaMonkey 1.5
Gecko 1.9.1 Firefox 3.5, Thunderbird 3, SeaMonkey 2.0
Gecko 1.9.2 Firefox 3.6, Thunderbird 3.1
Gecko 2.0 Firefox 4, Thunderbird 3.3, SeaMonkey 2.1
Gecko 5.0 Firefox 5, Thunderbird 5, SeaMonkey 2.2
Gecko 6.0 Firefox 6, Thunderbird 6, SeaMonkey 2.3
Gecko 60 Firefox 60.5.0
Gecko 65.0 Firefox 65.0
Gecko 66.0 Firefox 66.0beta
Gecko 67.0 Firefox Nightly 67.0a1

Aplikace využívající Gecko

editovat

Seznam nejznámějších webových prohlížečů, které ke své funkčnosti používají renderovací jádro Gecko.

Další aplikace využívající renderovací jádro Gecko.

Související články

editovat

Reference

editovat
  1. a b FIKAR, Jan. Vyšel Firefox 48 poprvé s Rustem. Http://www.root.cz/. root.cz [online]. 2016-08-02 [cit. 2016-08-03]. Dostupné online. 
  2. a b Vydaný Firefox 48 s dôležitými novinkami. Http://dsl.sk/. dsl.sk [online]. 2016-08-03 [cit. 2016-08-03]. Dostupné online. (slovensky) 
  3. https://www.mozilla.org/en-US/about/legal/eula/
  4. Mozilla Licensing Policies [online]. mozilla.org [cit. 2013-03-26]. Dostupné online. 

Externí odkazy

editovat
  NODES
INTERN 5