HTML5 – používat nebo nepoužívat

HTML5 Zaujala mě diskuze na zdrojáku po vystavení výsledků ankety týkající se používaných verzí HTML. Z této ankety vyplynulo, že HTML5 je již poměrně hojně používáno, i když XHTML si díky podpoře stále drží pomyslnou „první příčku“. Stále je však vidět, že plno lidí se zaobírá myšlenkou, zda je již možné používat HTML5 pro nové projekty.

Podobné myšlenky jsem také zvažoval při čtení specifikace, která se poměrně dost často mění (tu poslední změnu jsem zatím ani nedočetl do konce). Avšak pokud se podíváme na dnešní moderní weby, velké procento z nich již HTML5 začalo používat a dnešní moderní prohlížeče z velké části HTML5 také podporují. Je tedy už ten správný čas pro využívání HTML5?

HTML5 je již možné používat, ale …

Když jsem přemýšlel nad tím, zda vytvářet nové stránky v XHTML nebo v HTML5, pročetl jsem si nejprve specifikaci a novinky, které HTML5 přináší a kde ještě ve specifikaci poněkud pokulhává a implementaci by mohla být poněkud složitější, například s výhledem do budoucna. Při tomto obsáhlém zamyšlení (nesmějte se) jsem také zvažoval možnosti dnešních prohlížečů a případnou kompatibilitu prohlížečů starších, které s možnostmi HTML5 ještě nepočítaly.

Ukázka HTML5 kódu

Problémem by mohlo být, že nové verze prohlížečů, které se na HTML5 zaměřily, stále ještě nejsou tak rozšířené mezi uživateli internetu, kterým je jedno, co webové aplikace nebo webové stránky používají za technologie, zajímá je výsledek a pokud se jim nabídne aktualizace prohlížeče, tak si jí nejspíše nainstalují. Není tak možné zaručit, že v dnešní době bude podpora HTML5 vysoká (což bude ještě nějaký ten rok trvat).

Co může být problematické?

Pokud si o HTML5 něco přečteme nebo o něm již něco málo víme, jde především o nové API a nové tagy. Pokud by byla řeč o API, u starších prohlížečů vývojář zcela jistě nepochodí (např. offline storage) a bude muset vymyslet jiný způsob. U nových tagů jsou zde však alternativy, jak i těmto starším prohlížečům nabídnou daný obsah (například v případě <audio> a <video> tagů). Formovací nebo možná spíše strukturační (zní to divně že) tagy se však dají bez problémů používat i dnes a i starší prohlížeče je vykreslí (s menší úpravou nebo s přidaným JavaScriptovým kódem) poměrně bez problémů. Těmi tagy myslím například <section>, <nav> nebo <article> a které vznikly kvůli přehlednějšímu a sémantičtějšímu HTML kódu.

Pokud bychom chtěli tyto nové tagy používat, není to problém a stačí pouze trošku upravit CSS styly nebo použít některý z moderních CSS resetů. Problém to ale může tvořit u některých prohlížečů, kde je potřeba přidat ještě krátký JavaScriptový kód. U tagů <audio> a <video> je to trošku podobné, avšak je zde nutnost nabídnout několik alternativ formátu, protože se tvůrci prohlížečů neshodli na jednom a pro starší prohlížeče je stále nutné nabízet video například ve Flash přehrávači.

Co se týče nové API, bylo vystaveno plno nových možností díky kterým se webové aplikace stávají opravdu aplikacemi. Jsou zde možnosti, jak některé implementovat i ve starších prohlížečích (pomocí nástrojů třetích stran) a moderním prohlížečům se tak nabídne nová forma.

Proč používat alternativ pro starší prohlížeče, když to jde snadněji?

V předchozí části jsem se zmínil zběžně o možnostech, které HTML5 nabízí a které by mohly být problematické a alternativách, že je možné přimět i starší verze prohlížečů k jejich „správnému“ fungování. Vyvstává však otázka, proč tyto alternativy používat, když je to možné udělat jednoduše a zbytečně neprodlužovat (nebo spíše neprodražovat) vývoj webu. Nedovedu si představit mnoho klientů, kteří by slyšely na „Váš web bude o pár desítek tisíc dražší, protože použijeme HTML5 a imlementujeme i alternativní obsah pro starší prohlížeče, které by si s tím neporadili. Výhodou pro vás bude, že budete mít moderní web s hromadou funkcí a s poměrně velkou trvanlivostí.“ nebo na něco podobného. To může být ten problém a proto místo nových API nebo tagů použít ty stávající a pro interaktivní obsah použít například Flash.

Mně se ale líbí ta myšlenka, že by šlo tyto tagy využívat. Web se díky HTML5 stává nezávislou platformou na softwaru třetích stran a to je dobře (protože i dnes jsou lidé, kteří Flash nemají nebo ho na webu automaticky blokují) a my obsah chceme nabízet všem bez rozdílu. Nebo se pletu?

Kdy a kde používat HTML5?

Pokud se podíváme na dnešní webové aplikace, velká většina z nich je již napsána v HTML5 a nabízí způsob použití, který před tím nebyl možný nebo až příliš komplikovaný. HTML5 je však stále nedokončená specifikace a stále se mění, proto by vývojář musel občas zasáhnout do kódu a něco málo změnit (přidávání nových funkcí problém není). Na jednoduché webové stránky, kde není potřeba využívat většiny možností, bych se HTML5 nebál vůbec používat. Vývoj webových aplikací postavených na HTML5 bych však zatím viděl trošku komplikovaně a říkal bych tomu spíše experiment, i když vývoj například pro smartphony bych už vedl pouze v HTML5. Samozřejmě se mnou může plno lidí nesouhlasit, je to pouze můj názor.

Co mě velice udivilo je, podle ankety na zdrojáku, že je stále někdo schopen vyvíjet web bez uvedení doctype a ještě více mě udivuje, když podobní lidé křičí, že HTML5 je nesmysl, když je tu software třetích stran (není to jen Flash) a není nutné připravovat x formátů pro obsah a už vůbec ne se pachtit s nějakou implementací nové API. Ještě jednou zopakuji, web by měl být nezávislá platforma.

Shrnutí

Tento článek jsem sepsal jako takové zamyšlení nad tím, zda v dnešní době používat HTML5 či nikoli. Osobně vidím při menším nebo specifickém vývoji použití jako velice užitečné (sám vyvíjím jednu aplikaci, kterou na HTML5 stavím), pro měnší či střední weby je zde možnost použití také, protože nové funkce zde lze použit i s kompatibilitou na starších prohlížečích a v budoucnu tak odpadne nutný refaktoring (případně se odeberou nástroje zajišťující kompatibilitu u starších prohlížečů). Osobně tedy říkám HTML5 ano, ale …

Napsat komentář