WebKit a KHTML spojují své síly

Petr Krčmář 25. 7. 2007

Potřeba kvalitního a multiplatformního renderovacího jádra, je silnější než kdy jindy. S přibývajícími webovými službami je zde poptávka po jednotném rozhraní, které by zobrazovalo weby kvalitně a především vždy stejně. Nadějným kandidátem je WebKit, k jehož vývoji se nyní přidává i tým KHTML a společnost Trolltech.

Renderujeme nejen weby

Kvalitní knihovnu, schopnou dobře, rychle a správně renderovat webové stránky, potřebuje dnes v podstatě každý uživatel. Takové knihovně se obvykle říká renderovací jádro a najdeme ji nejen v prohlížečích, ale také v dalších aplikacích jako jsou e-mailoví klienti, programy pro čtení dokumentace, čtečky elektronických knih a podobně.

Současná situace okolo jednotlivých implementací renderovacích jader je ovšem velmi zmatená a roztříštěná, protože v každém operačním systému najdeme zcela odlišný kus software. Situaci navíc zhoršuje nekompatibilita jednotlivých implementací a často také velmi rozdílný způsob zobrazování stránek.

Pokusím se shrnout situaci u jednotlivých operačních systémů případně tvůrců renderovacích ja­der.

Microsoft

Microsoft už deset let vyvíjí a v MS Windows používá své vlastní jádro Trident. To využívá například Internet Explorer (od verze 4), ale také další aplikace, které chtějí vyrenderovat a zobrazit webovou stránku. Jádro je pevně zakořeněné v operačním systému a kvůli uzavřenosti jej není možné portovat na jiný operační systém.

Poznámka autora: Je pravda, že MSIE byl kdysi vytvářen také pro unixové systémy a Mac OS X. Jednalo se ale spíše o kompletní přepsání než o klasickou portaci. Nyní jsou všechny tyto verze bez podpory. Nikdo kromě Microsoftu však stále nemá možnost další porty vytvořit.

Mozilla

Přibližně stejnou dobu je vyvíjeno i jádro Gecko, které nyní spravuje Mozilla a využívá jej ve svých produktech jako je Firefox, Thunderbird a další. Objevuje se také například v SeaMonkey, v OpenOffice.org a v nezávislém webovém prohlížeči Kazehakase. Tím bohužel veškeré další využití končí. Ačkoliv uživatelé dlouho volají po samostatné knihovně Gecko, kvůli poměrně komplikovanému a ne zcela čistému kódu nikdy nic podobného nevzniklo.

KDE

Vývojáři prostředí KDE vytvářejí svůj vlastní prohlížeč Konqueror, který používá jádro zvané KHTML. To je postaveno na „zelené louce”, ale zatím neobsahuje některé důležité funkce a je poměrně pevně svázáno s KDE.

Apple

Současným prohlížečem systému Mac OS X je Safari, které využívá jádra WebKit. To vychází z KHTML a přidává řadu vlastních vylepšení. Bohužel v současné době je WebKit pevně svázán s Mac OS X a přestože existuje vývojová verze pro MS Windows, zatím nelze říci, že by byla příliš použitelná.

… a další

Samozřejmě existují i další renderovací jádra, která najdeme v mnoha různých samostatných aplikacích. Jsou ale buďto uzavřená (Opera) nebo nedosahují potřebných kvalit (Tkhtml3) pro obecné použití v operačním systému.

Chceme multiplatformní WebKit!

V tuto chvíli je tedy jediným použitelným a portovatelným jádrem Gecko. To je ovšem distribuováno jen s konkrétními aplikacemi Mozilla a je příliš komplikované na to, aby jej v hojné míře využívaly další aplikace.

Jedním z nadějných projektů je ale už zmíněný WebKit. Jeho předností je kompaktnost a především neuvěřitelná jednoduchost. Jedná se o jednu jedinou systémovou knihovnu o velikosti 4 MB. Čistotu jádra si nedávno pochvaloval i David Majda, známý z projektu CZilla: „Když jsem nedávno koukal do zdrojáků Safari kvůli implementaci nativních widgetů, velmi příjemně mě překvapilo, jak jsou hezky napsané, srozumitelné a logicky uspořádané.”.

Také Martin Hassman se k WebKitu vyjádřil velmi pochvalně: „Webkit mne opravdu nadchl. Jedna 4 MB knihovna a pár konfiguračních souborů. Sbohem Gecko, sbohem balaste desítek souborů!”.

V současné době je k dispozici nativní verze pro Mac OS X a vývojářský port pro MS Windows. Vývojáři očividně pracují na multiplatformnosti WebKitu. Po oficiálním portu pro Linux ale zatím není nic slyšet. Přesto se někteří nezávislí vývojáři už nyní snaží a výsledkem je například Epiphany používající WebKit.

Epiphany nad WebKit

Epiphany nad WebKitem

Trocha z historie WebKitu

Abychom mohli nahlédnout do historie jádra WebKit, musíme začít u KHTML. To vzniklo v rámci projektu KDE kolem roku 2000. To bylo v době, kdy Netscape padnul a Mozilla se urputně snažila vytvořit novou vývojářskou komunitu, která by pokračovala ve vývoji Gecko a především prohlížeče Netscape.

Situace byla v té době velmi nestabilní, a tak se projekt KDE rozhodl vytvořit vlastní prohlížeč Konqueror a renderovací jádro KHTML, vše vystavěné od nuly a postavené na vlastních open-source kódech. Poprvé se KHTML objevilo v KDE 2.0. V té době už bylo použitelné na většinu HTML, ale stále chyběla pořádná podpora JavaScriptu a chyběly některé další funkce.

Kód jádra KHTML jako první převzal projekt AtheOS, který je dnes známý pod názvem Syllable. Ten použil jádro ve svém vlastním prohlížeči Abrowse. Byl tu ovšem ještě jeden zájemce, který potichu převzal kód KHTML a několik let jej postupně vylepšoval – Apple. Vývoj nového WebKitu se zaměřil na tři oblasti:

  • Odstranění závislosti na KDE
  • Odstranění závislosti na Qt
  • Přidání chybějících funkcí

V roce 2003 bylo vše připraveno, a tak Apple při vydání Mac OS X 10.3 Panther oznámil, že je k dispozici nový prohlížeč Safari, postavený právě na jádře WebKit. Část jádra však byla stále uzavřená a Apple si své změny chránil, za což sklidil nemalou kritiku od open-source komunity, která se dožadovala „vrácení změn” zpět do projektu KHTML.

Stalo se a v červnu 2005 oznámili vývojáři Safari, že celý WebKit je open source, včetně nové podpory JavaScriptu, SVG a dalších úprav provedených mimo KHTML. Potřebné změny tak mohly být postupně zaváděny do původního projektu.

Blýská se na lepší časy?

Je jasné, že WebKit je jasným kandidátem na univerzální renderovací jádro, které by bylo použitelné nejen v Mac OS X a nejen v Safari. Všichni volají po WebKitu a KHTML je logicky odsouván do pozadí. Toho jsou si vědomi i sami vývojáři, kteří se sešli na konferenci Akademy 2007 pořádané v Glasgow, aby společně debatovali nad budoucností KHTML.

Výsledkem je rozhodnutí opustit samostatný projekt KHTML a spojit síly s vývojáři WebKitu. Vývojáři Apple tento krok navrhovali už před lety. Výsledkem by mělo být zrychlení vývoje a především nový Konqueror postavený právě na WebKitu. Důsledkem tak bude portace WebKitu na Linux.

Původní KHTML ale nebude úplně hozen za hlavu, protože stále obsahuje funkce vzniklé až po odštěpení projektu WebKit, který je zatím neimplementoval. Jedná se například o částečnou podporu CSS3. Zároveň je potřeba do WebKitu přidat rozhraní používaná aplikacemi jako jsou Konqueror, Abrowse nebo zmíněný Epiphany.

K všeobecnému nadšení z vývoje WebKitu se přidala i společnost Trolltech, která vyvíjí knihovnu Qt. Její představitele už oznámili, že chystaná Qt 4.4 bude obsahovat WebKit, takže každý vývojář bude mít hotový nástroj pro renderování stránek.

Co nás tedy čeká?

Poměrně často si lidé stěžují na roztříštěnost open-source světa, která štěpí síly a vnáší do vývoje zmatek. Situace okolo KHTML a WebKit je zářným příkladem opaku, kdy se velké projekty spojí, aby společně vytvořily ještě zajímavější a kvalitnější kus software. Pokud k tomu přičteme ještě zájem Trolltechu, vyjde nám špičkové renderovací jádro, využitelné na mnoha platformách a systémech.

KHTML je mrtev. Ať žije WebKit!

Našli jste v článku chybu?
Měšec.cz: Co s reklamací, když e-shop krachuje?

Co s reklamací, když e-shop krachuje?

120na80.cz: Tipy pro odvodnění organismu

Tipy pro odvodnění organismu

Měšec.cz: Ceny PHM v Evropě. Finty na úspory

Ceny PHM v Evropě. Finty na úspory

Podnikatel.cz: Eshopy neumí komunikovat. Zákazníci žasnou

Eshopy neumí komunikovat. Zákazníci žasnou

Lupa.cz: eIDAS: Nepřehnali jsme to s výjimkami?

eIDAS: Nepřehnali jsme to s výjimkami?

Měšec.cz: Investice do drahých kovů - znáte základní chyby?

Investice do drahých kovů - znáte základní chyby?

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

Měšec.cz: Nový sazebník mBank radost nedělá

Nový sazebník mBank radost nedělá

DigiZone.cz: Markíza HD a Dajto? U Digi TV asi minulost

Markíza HD a Dajto? U Digi TV asi minulost

Podnikatel.cz: Účtenky v rámci EET? Klidně emailem

Účtenky v rámci EET? Klidně emailem

Vitalia.cz: Sobotní masakr žrádla, chlastu a zábavy

Sobotní masakr žrádla, chlastu a zábavy

120na80.cz: Nyní středně velké riziko

Nyní středně velké riziko

Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

Měšec.cz: Se stavebkem k soudu už (většinou) nemusíte

Se stavebkem k soudu už (většinou) nemusíte

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

DigiZone.cz: Loewe Subwoofer 300 pro televizory

Loewe Subwoofer 300 pro televizory

Vitalia.cz: Tohle je Břicháč Tom, co zhubnul 27 kg

Tohle je Břicháč Tom, co zhubnul 27 kg

Vitalia.cz: Petr Koukal: Až rakovina mi zkvalitnila život

Petr Koukal: Až rakovina mi zkvalitnila život

Podnikatel.cz: Fotogalerie: Jesenka už má skoro 50 let

Fotogalerie: Jesenka už má skoro 50 let

DigiZone.cz: Epson: 4K projektory s podporou HDR

Epson: 4K projektory s podporou HDR