Co přinese nová specifikace HTML5?

3. 4. 2010

Sdílet

Mezi webovými vývojáři roste očekávání spojené s novou revizí jazyka HTML, na níž World Wide Web Consortium (W3C) pracuje od roku 2007. Pro mnohé z nich však toto vylepšení přichází pozdě a může pro něj být proto obtížné prosadit se oproti již zavedeným technologiím.

Jazyk HTML se totiž nedočkal výraznějšího vylepšení již řadu let a poslední webový standard, který získal od W3C nejvyšší status doporučení, byl v roce 2001 XHTML 1.1. V březnu konsorcium W3C vydalo pracovní verzi dokumentu HTML: The Markup Language, která shrnuje nové vlastnosti HTML5 a rozdíly oproti stávajícím revizím, která mezi webovými vývojáři vzbudila poměrně značnou pozornost. Přibližme si proto detailněji, co lze od tohoto jazyka očekávat.

Revoluční změna

V posledních letech začali weboví vývojáři vyjadřovat určité znepokojení ohledně podoby jazyka HTML a XHTML, neboť tyto standardy jim přišly již zastaralé a nevyhovující současným požadavkům moderních webových aplikací. Cílem HTML5 má být tento stav zcela změnit a bude obsahovat tagy a API pro zlepšení interaktivity, multimédia a lokalizaci, přičemž se o této revizi často také mluví jako o náhradě za Silverlight, QuickTime či Flash. Experimentálně se již objevují fragmenty nových vlastností HTML5 v aktualizovaných verzích webových prohlížečů (viz dále) a někteří vývojáři již začínají vyjadřovat svůj optimismus, že modernizovaná verze HTML je zbaví závislosti na výše zmíněných proprietárních doplňcích. Někteří velcí hráči na poli webových technologií, jako např. Apple, Google, Mozilla či Vimeo, ovšem poukazují na to, že cesta vývoje HTML5 bude ještě trnitá, a některé části specifikace považují za kontroverzní, i když jiné jsou již prakticky dokončené. Tato situace ovšem staví webové vývojáře před nelehký úkol – jak vytvářet bohaté internetové aplikace s dnešními technologiemi tak, aby si udrželi otevřenou cestu k plynulému přechodu na HTML5.

Trnité cesty vývoje
Bohaté internetové aplikace (v angl. rich internet applications) nejsou zcela v souladu s původní představou o HTML, neboť například „otec webu“, Tim Berners-Lee, považoval tento jazyk primárně za jednoduchý nástroj pro tvorbu hypertextových dokumentů, které nejsou závislé na konkrétní platformě. V souvislosti s XHTML, což bylo rozšíření původního jazyka o podmínky pro tvorbu XML dokumentů, se pak W3C zaměřilo na pohled na webové stránky s ohledem na jejich strukturu, což vycházelo z představ o sémantickém webu, s nimiž také přišel Berners-Lee ve druhé polovině 90. let.

To ovšem frustrovalo řadu vývojářů, kteří vnímali potenciál webu jako významné platformy pro provoz aplikací a v roce 2004 proto založili zástupci Applu, Mozilly a Opery vlastní nezávislé konsorcium pro webové standardy s názvem Web Hypertext Application Technology Working Group (zkráceně WHATWG), jež začalo mimo půdu W3C rozvíjet možnosti renovace jazyka HTML pro aplikačně-centrický pohled na web. Právě v roce 2007 se konsorcium W3C rozhodlo odložit další vývoj XHTML2 a adoptovat dosavadní práci skupiny WHATWG jako výchozí bod pro tvorbu páté majoritní verze HTML jazyka a tento přerod podpořil i sám Berners-Lee, který s ohledem na předchozí roky uznal, že se představa o přeměně digitálního světa na XML nefungovala a že HTML se musí vyvíjet podle aktuálních potřeb a požadavků. To ovšem neznamená, že celý koncept značkovacího jazyka XML je mrtvý. I když HTML znovu převzalo vedoucí roli, souběžně s HTML5 je vyvíjen i XHTML5, který má být dostupný pro ty, kdo již na platformu XML dříve přešli.

Změny v jazyce

HTML5 mimo jiné přebírá i řadu vlastností z rozpracovaného XHTML2 včetně vlastností pro zlepšení struktury dokumentů. Např. nové HTML tagy pro záhlaví, zápatí či vstupy uživatelů umožňují autorům obsahu konzistentně specifikovat společné elementy dokumentu, zatímco dříve museli vývojáři označovat takové elementy pomocí tagů

s atributy třídy, což komplikovalo práci s takovými dokumenty. HTML5 dále pokračuje ve snaze rozlišit webový obsah od jeho prezentace a třeba tagy a pro kurzivní a tučný text prodělaly významnou změnu pojetí, neboť již neimplikují jen specifické typografické úpravy, ale dostávají také konkrétní sémantický obsah. V prvním případě jde i o označení technických termínů či cizích slov a v druhém pak o zvýraznění důležité informace v okolním textu, např. o klíčové slovo. Naopak bylo upuštěno od použití tagů pro podtržený, přeškrtnutý a vycentrovaný text či nastavování písma, jeho barvy a velikosti, což je nyní chápáno již jako exkluzivní doména kaskádových stylů.

Nový standard též uvádí další datové typy pro vstupní elementy z formulářů včetně datumů, url a e-mailových adres. Vylepšení se dočkala podpora znakových sad nevyužívajících latinku včetně speciálních znaků v asijských jazycích. HTML5 také přichází s konceptem mikrodat, což je metoda anotace HTML obsahu pomocí stojem čitelných tagů, která usnadňuje sémantické zpracování dokumentů. Díky tomu lze budovat přehlednější a lépe spravovatelné webové stránky, které budou dobře indexovatelné vyhledávači a jinými automatickými nástroji a v této souvislosti se někdy mluví také o Webu 3.0.

Za bohatším webem
Nejvíce zajímavá vylepšení v HTML5 se ovšem týkají elementů a API, které mají umožnit vývojářům využívat bohatá média a aplikace jen pomocí HTML standardů. Moderní webové stránky výrazně zvyšují obsah škálovatelné grafiky, animací a multimédií, nicméně se při jejich zobrazování musí spoléhat na výše zmíněné pluginy, jež jsou nejen možnými bezpečnostními riziky, ale zužují spektrum uživatelů takových stránek jen na ty, kteří mají příslušný doplněk nainstalovaný. HTML5 tento problém řeší tak, že autoři mohou vložit kódy vytvořené např. v MathML (Mathematical Markup Language) či SVG (Scalable Vector Graphics) přímo mezi HTML5 kód, což má zvýšit konkurenceschopnost HTML vůči technologiím Flash a Silverlight, které byly navržené s ohledem na textovou i grafickou stránku. Weboví vývojáři se také konečně dočkají nových tagů pro podporu audia a videa nezávislých na konkrétních kodecích, které by měly umožnit snadné zabudování mediálního obsahu přímo do webových stránek. Tato skutečnost může být obzvlášť důležitá pro ty poskytovatele on-line videa, kteří chtějí nabízet svůj obsah i na přístrojích, které nepodporují Flash. Další možnosti pak přináší tag pro canvas, jenž může definovat prostory v okně prohlížeče jako dynamickou bitovou mapu, a vývojáři tak mohou s využitím JavaScriptu tyto elementy canvasu ovládat, což umožní vytvořit na webu plně interaktivní grafické prostředí (např. pro webové počítačové hry) bez nutnosti spoléhat na další (externí) prostředky a nástroje.

HTML5 dále přichází s novým konceptem cache pro internetové aplikace, která umožní uchovávat data přímo na přístroji uživatele. Jedná se o podobný princip jako u pluginu Gears od Googlu (jehož další vývoj se díky nové revizi jazyka HTML stává již zbytečným) a výsledkem je lepší výkon aplikací a také možnost plnohodnotné práce i v případě, že uživatel není zrovna připojený k internetu.

Doplňky stále žijí

I když z předchozích informací by bylo možné vyvodit závěr, že pluginy pro prohlížeče se spolu s příchodem HTML5 stanou prakticky zbytečné, není pravděpodobné, že by zcela vymizely. Historie webu je plná různých konkurenčních technologií a mediálních formátů a toto dědictví si s sebou ponese i do budoucna, nehledě na to, že bude trvat ještě několik let, než prohlížeče s podporou čistého HTML5 nabídnou takové možnosti, jaké jsou k dispozici již dnes pomocí „konglomerátu“ doplňků. I když některé weby, jako třeba YouTube nebo Vimeo, již experimentují s novými videotagy, není realizace tak snadná, jak může na první pohled vypadat. Rozhodnutí W3C nespecifikovat v HTML5 kodeky pro kódování videa, znamená, že poskytovatelé nebudou moci zaručit, že na jednom klientském přístroji bude možné přehrát různý typ mediálního obsahu. Apple, Google a Microsoft se snaží pro video propagovat standard H.264, ale open source prohlížeče jako Firefox nebo Konqueror nemohou (nebo ani z principu nechtějí) zakoupit licence pro podporu tohoto formátu, a dokud se toto dilema nevyřeší, je pravděpodobné, že tvůrci webového obsahu budou i nadále setrvávat u široce rozšířeného Flashe, aby si zajistili co největší publikum pro své výtvory.

Problémem mohou být také již existující aplikace, které využívají zmíněný plugin Gears, neboť technologie cache, která je v něm využitá, není zcela identická s technologií v HTML5 a Google přiznává, že neexistuje jednoduchý způsob, jak tyto aplikace předělat, aby odpovídaly novým standardům. Pro vývojáře webových aplikací bude také důležité sledovat situaci na trhu prohlížečů a jejich podíly, neboť velká skupina uživatelů setrvávající u starších verzí browserů si může vyžádat nutnost vytvářet webové stránky ve dvou verzích – pro ty, kteří prohlížeč s podporou HTML5 mají, a pro zbytek (stačí se jen podívat na stále významný 20% podíl uživatelů již prakticky dosloužilého IE6, aby bylo jasné, že tento přechod nebude zcela snadný).

Jak již bylo řečeno, výrobci webových prohlížečů již zakomponovávají do svých aplikací už dokončené prvky HTML5 a lze se s nimi setkat u nejnovějších verzí Firefoxu, Opery, Safari a Chrome a také v chystané verzi Internet Exploreru 9, jehož první preview uvolnil Microsoft v polovině března (podpora množství prvků se ovšem zatím mezi různými konkurenčními prohlížeči liší). Podobně také přístroje iPhone a iPad od Applu nemají sice podporovat Flash, ale měly by v budoucnu přidat rozšíření právě pro HTML5 a stejným směrem má jít i chystaný Chrome OS od Googlu.

Co se týká možných termínů dokončení nové revize HTML, ty stále nejsou jisté, ale se završením vývoje nových funkcí se nepočítá dříve než v roce 2011. Navíc proces standardizace konsorciem W3C, který končí fází doporučení, může trvat ještě řadu dalších let.