Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

WebKit a KHTML spojují své síly

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.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

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!

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Školení: Pokročilejší kurz jazyka Java

Java je multiplatformní programovací jazyk, který vytvořila a vyvíjí společnost Sun. Java je silný, objektově orientovaný jazyk se širokou komunitou, nabízející především vysokou produktivitu vývoje.

  • Práce s řetězci
  • Regulární výrazy
  • Kolekce
  • Generiky
  • Smyčka typu "for" ve verzi Java 1.5
  • Výčty
  • Vlákna, synchronizace
  • Polymorfismus, RTTI
  • Java Beany
  • JDBC (práce s databázemi)
  • GUI (knihovny AWT a Swing)
  • Java na serveru (servlety, JSP)

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 3,07

Přehled názorů

mno..
NasaK 25. 7. 2007 00:22
Nový
├ 
Re: mno..
MO-X 25. 7. 2007 07:20
Nový
└ 
Re: mno..
Petr Krčmář 25. 7. 2007 08:34
Nový
 
└ 
Re: mno..
NasaK 25. 7. 2007 11:33
Nový
 
 
└ 
Re: mno..
Petr Krčmář 25. 7. 2007 11:42
Nový
http://gtk-webcore.s ourceforge.net/
Jiří Bělka 25. 7. 2007 02:03
Nový
├ 
Re: http://gtk-webcore.s ourceforge.net/
Petr Krčmář 25. 7. 2007 08:38
Nový
│
└ 
Re: http://gtk-webcore.s ourceforge.net/
nemo 25. 7. 2007 10:38
Nový
└ 
Re: http://gtk-webcore.s ourceforge.net/
Pavel Stěhule 25. 7. 2007 21:30
Nový
<<some XSS shit>>
wtf !? 25. 7. 2007 02:12
Nový
└ 
Re: <<some XSS shit>>
Petí 25. 7. 2007 08:12
Nový
 
└ 
Re: <<some XSS shit>>
El.Condor 25. 7. 2007 08:26
Nový
 
 
├ 
Re: <<some XSS shit>>
Petr Krčmář 25. 7. 2007 08:37
Nový
 
 
│
└ 
Re: <<some XSS shit>>
Adam Hauner 25. 7. 2007 09:32
Nový
 
 
│
 
├ 
Re: <<some XSS shit>>
Petr Krčmář 25. 7. 2007 09:35
Nový
 
 
│
 
└ 
Re: <<some XSS shit>>
MaLer 25. 7. 2007 11:40
Nový
 
 
│
 
 
└ 
Re: <<some XSS shit>>
Adam Hauner 25. 7. 2007 11:53
Nový
 
 
└ 
Re: <<some XSS shit>>
Jiří Bělka 25. 7. 2007 09:10
Nový
 
 
 
├ 
Re: <<some XSS shit>>
El.Condor 25. 7. 2007 09:28
Nový
 
 
 
└ 
Re: <<some XSS shit>>
anonymní uživatel 25. 7. 2007 16:04
Nový
 
 
 
 
└ 
Re: <<some XSS shit>>
Jiří Bělka 25. 7. 2007 16:44
Nový
 
 
 
 
 
└ 
Re: <<some XSS shit>>
dejf 30. 7. 2007 12:08
Nový
Vyuzitie Gecko
czz 25. 7. 2007 09:46
Nový
└ 
Re: Vyuzitie Gecko
Petr Krčmář 25. 7. 2007 10:15
Nový
WebKit je i pro Symbian S60
Jezovec 25. 7. 2007 10:41
Nový
JESP
purporte[X] 25. 7. 2007 11:23
Nový
├ 
Re: JESP
hwsoft 26. 7. 2007 08:37
Nový
└ 
Re: JESP
Sten 6. 3. 2008 16:03
Nový
 
└ 
Re: JESP
gilhad Gilhad 8. 9. 2008 12:14
Nový
Kecko
Michal Vyskočil 26. 7. 2007 13:29
Nový
└ 
Re: Kecko
mys elf 26. 7. 2007 20:10
Nový
tak ma konecne mozilla duvod delat veci poradne
dejf 29. 7. 2007 13:22
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem