Pokud už něco umíš o vytváření stránek, tak se se mnou pojď podívat, jaký je rozdíl mezi různými normami při vytváření webů.
Co je to HTML?
Wikipedia uvádí: „Hypertext Markup Language (zkratka HTML) je v informatice název značkovacího jazyka používaného pro tvorbu webových stránek, které jsou propojeny hypertextovými odkazy.“
Jinými slovy, HTML je značkovací jazyk (pozor, nejedná se o programovací jazyk), ve kterém jednotlivé části stránek označujeme značkami (= tagy). Stránky samotné se pak ukládají do souborů s příponou .html
(dříve také .htm
).
Historické okénko
Vývoj HTML se rozběhl zejména v 90. letech 20. století, kdy vzniklo několik verzí, standardů, tohoto jazyka. Pro zajímavost, verze 3 z roku 1996 přidala podporu kaskádových stylů (CSS), koncem století potom vznikla verze 4.0 (a následně 4.01), která měla být poslední verzí HTML. Organizace World Wide Web Consortium (W3C), která stála za vývojem tohoto jazyka, přešla na standard XHTML.
Co je to XHTML?
XHTML byl původně „revolučním“ následníkem zastaralého standardu HTML 4.01. Název vychází z anglického „Extensible Hypertext Markup Language“ - tj. rozšířitelný hypertextový značkovací jazyk (zdroj).
Technické rozdíly oproti HTML
Když byla roku 2000 vydána norma XHTML 1.0, z velké části se podobala staršímu HTML4. Ve spoustě věcí se ale XHTML od HTML liší.
XHTML vychází nejen z původního hypertextového standardu, ale také z obecnějšího značkovacího jazyka XML. Nové weby s příponou .xhtml
(nebo .xht
) tak fungovaly od těch starších velmi odlišně. Bohužel, ne všechny prohlížeče tak dokázaly XHTML správně zpracovat.
Zjednoduším-li situaci, XML (a z něho vycházející XHTML) potřebují speciální analýzu, kterou vykonává tzv. XML Parser. To ale vedlo (a stále vede) k problémům. Některé prohlížeče je ale obcházejí tím, že v podstatě nedbají toho, že se jedná o zvláštní soubor, ale servírují jej jako jednoduché HTML (více zde).
Další rozdíly
Poměrně zásadní změnou jsou pak upravené požadavky při vytváření stránek a používání značek.
Každý XHTML dokument tak musí začínat stejně, a to poměrně nezapamatovatelnou značkou <!DOCTYPE>
:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="
cs"
>
<!-- Kód stránky -->
</html>
Jediný atribut xml:lang
by pak měl být změněn podle toho, v jakém jazyce stránku píšeme (v tomto případě čeština).
Dalším požadavkem XHTML je, že všechny značky musí být psány malými písmeny (tj. <h2>
místo <H2>
).
Posledním zásadním rozdílem je nutnost uzavírat značky, o které jsem se již v některých článcích zmiňoval (třeba zde), a absence prázdných atributů.
<!-- HTML -->
<img
src="
obrazky/pes.png"
>
<br>
<p>
Můj obrázek psa</p>
<input
type="
text"
placeholder="
Vymysli mu jméno..."
required
>
<!-- XHTML -->
<img
src="
obrazky/pes.png"
/>
<br />
<p>
Můj obrázek psa</p>
<input
type="
text"
placeholder="
Vymysli mu jméno..."
required="
required"
/>
Více vyjmenovávat nebudu. Rozhodně se nejedná o všechny změny a nutnosti v XHTML, fajnšmekři si je ale můžou najít tady.
Co je to HTML5?
Vrátíme-li se k historické části článku, po necelých deseti letech W3C znovu začalo pracovat na původním jazyce HTML. V té době se ale pracovalo i na novější verzi XHTML (tzv. XHTML 2). První koncepty vznikaly od roku 2007, doporučovaným standardem pro psaní webů se ale HTML verze 5.0 stalo až o 7 let déle, tedy r. 2014.
Co je nového?
Nový standard s sebou přinesl nové značky i atributy, některé ale pozměnil nebo i zavrhnul. Použití HTML5 také uvažuje absolutní použití kaskádových stylů, zmizela například značka <font>
upravující vlastnosti textu (ačkoli spousta prohlížečů ji stále podporuje).
Nejvýraznější proměnou prošly také tagy <b>
, <i>
a <u>
, které se nadále nepoužívají k úpravě textu. Nehledě na to je ale spousta lidí nadále používá - protože nedbají na význam značky, ale jen na to, jak stránka závěrem vypadá.
Pamatuješ si ještě úvod XHTML? Tak nová norma si s tím hlavu neláme. Stále je však nutné uvádět jazyk stránky:
<!DOCTYPE html>
<html
lang="
cs"
>
<!-- Kód stránky -->
</html>
Vznikly i nové značky, které ještě více zdůraznily, že jsme už v 21. století. Třeba díky <video>
, <audio>
nebo <canvas>
se v HTML5 vytvářejí i hry. Velkou roli pak také hrají tzv. sémantické elementy, tedy elementy, které na webovce vlastně ani nevidíme. Pomocí nich jsou ale weby přehlednější a jednodušeji se vytvářejí. Patří mezi ně třeba <header>
, <footer>
, <section>
nebo <article>
.
Pozor! Nové sémantické značky je ale nutné i správně používat. Velmi dobře je to vysvětlené zde.
Veškeré změny byly uveřejněny na stránkách W3C.
HTML Living Standard
Pozor, i HTML5 má více verzí, a to 5.0, 5.1, 5.2 a 5.3. Všechny jsou ale v dnešní době zastaralé. W3C totiž v minulých letech udělalo 2 zásadní kroky (zdroj):
- 3/2018 - Konec podpory (tzv. „Retirement“) HTML 5.0, spolu s XHTML 1.0, XHTML 1.1, velmi starého HTML 3.2 a poněkud novějších, ale stále velmi starých HTML 4.0 a HTML 4.01.
- 1/2021 - Konec podpory HTML 5.1, HTML 5.2 a HTML 5.3.
Po ukončení podpory HTML5 se přešlo na neustále se vyvíjející „HTML Living Standard“. Tu ale nadále nemá pod záštitou W3C, nýbrž skupina WHATWG, která vznikla už roku 2004 a která je narozdíl od konsorcia „založena na příspěvcích konkrétních přispěvatelů jako jsou Google, Mozilla Foundation, Opera Software či Apple Computer“.
I pro HTML Living Standard se ale často používá označení HTML5. Cituji-li oficiální doporučení WHATWG: „the term ‘HTML5’ is widely used as a buzzword to refer to modern web technologies (...),“ ve volném překladu, „termín ‚HTML5’ je obecně používán jako slovíčko označující moderní webové technologie (...).“
HTML × XHTML - Co je lepší?
Můj názor? Pojďme s dobou a používejme nejnovější verzi. Pro objektivitu je ale nutné dodat, že i XHTML najde své využití a existují aplikace, kde se XHTML používá. Zde jsou různé rozdíly těchto dvou verzí:
- V HTML nezáleží na psaní velkých a malých písmen, v XHTML ano.
- V HTML není nutné uzavírat všechny značky (i některé párové nemusí být uzavřené, ale to už záleží na gustu výrobce).
- XHTML nefunguje ve všech prohlížečích tak, jak by mělo. (Některé prohlížeče se k XHTML chovají jako k normálnímu HTML.)
- Podpora XHTML skončila roku 2018, HTML Living Standard má podporu nadále.
- Pokud je v HTML souboru chyba, prohlížeč se snaží i tak zobrazit celou stránku a chyby si nevšímat. XHTML vyhazuje chyby, je-li interpretováno správně (ve většině moderních prohlížečů to tak už nefunguje, a tak stránky fungují stejně, jako kdyby byly psané v HTML).
- XHTML je striktnější, díky čemuž je kód stránek přehlednější. Tím, že vychází z HTML4 ale pozbývají nových sémantických značek, které v HTML také napomáhají k přehlednosti.
- Správně psané XHTML stránky se načítají rychleji.
- XHTML lze lépe propojit s dalšími XML dokumenty.
- A další... (tady nebo tady)
Řešením by mohlo být XHTML5. Ale vzhledem k tomu, že se od používání XHTML ustupuje, jsem k němu moc informací nenašel.
Závěrem...
Již několikrát bylo řečeno, že každý standard má své využití. Které ale používat, je jen na tobě!
Díky za čtení! Veškeré zdroje jsou uvedeny přímo v textu. Pokračuj i s dalšími články.