Hlavní navigace

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?

8. 9. 2008 12:14

Ja jim to vysvetlil - kdyz mi rekli, ze nepodporuji jine prohlizece, tak jsem jim rekl, ze moje penize teda neuvidi. Kdyby to udelalo dost lidi, tak si toho treba vsimnou :)

Ale pokud nemaji podporu pro mou platformu, tak ja nemam podporu pro ne. Hlasuju penezenkou.

6. 3. 2008 16:03

Sten (neregistrovaný)
Mě Internet Explorer docela dlouho a svižně běhá ve Wine. A dokonce několik verzí najednou a podporu cizích jazyků má lepší než ve Windows!

Btw. vysvětlete ČSOB, že jsou lidé, kteří Internet Explorer nechtějí. Jejich skvělá čipová karta nefunguje s ničím jiným ani ve Windows.

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Podnikatel.cz: Dva doklady netřeba, dejte to na účtenku k EET

Dva doklady netřeba, dejte to na účtenku k EET

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Měšec.cz: Golfové pojištění: kde si jej můžete sjednat?

Golfové pojištění: kde si jej můžete sjednat?

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA