Historie a vývoj HTML

První definici jazyka HTML vytvořil v roce 1991 Tim Berners-Lee jako součást projektu WWW, který měl umožnit vědcům zabývajícím se fyzikou vysokých energií komunikaci a sdílení výsledků výzkumu po celém světě. Ne náhodou proto celý projekt vznikal v CERNu (Centre Européenne pour la Recherche Nucléaire, Evropské centrum jaderného výzkumu), který leží na švýcarsko-francouzských hranicích nedaleko Ženevy. Jednalo se o výsledek dvouletého projektu, který měl vyřešit problémy se sdílením informací ve velké instituci, jakou CERN bezesporu je. Tato verze HTML byla popsána v dokumentu HTML Tags. Umožňovala text rozčlenit do několika logických úrovní, použít několik druhů zvýraznění textu a zařadit do textu odkazy a obrázky.

Berners-Lee při návrhu HTML nepředpokládal, že by autoři webových stránek museli tento jazyk znát. První verze WWW softwaru byla napsána pro operační systém NextStep a obsahovala jak prohlížeč, tak i integrovaný editor webových stránek. Software vyvinutý v CERNu včetně specifikací jazyka HTML byl veřejně uvolněn v roce 1991. Když Marc Anderssen se svými kolegy z NCSA (National Center for Supercomputing Applications) psal dříve populární prohlížeč Mosaic, považoval za příliš obtížné implementovat do programu rovnou i editor HTML. Díky tomuto rozhodnutí a tomu, že ne každý provozuje na svém počítači NextStep, je dnes nutné, aby autoři profesionálních stránek znali jazyk HTML.

Požadavky uživatelů na WWW vzrůstaly, a tak producenti různých prohlížečů obohacovali HTML o některé nové prvky. Aby byla zachována kompatibilita mezi jednotlivými modifikacemi HTML, vytvořil Berners-Lee pod hlavičkou IETF (Internet Engineering Task Force) návrh standardu HTML 2.0, který zahrnoval všechny v té době běžně používané prvky HTML. Verze HTML 2.0 má zároveň dvě úrovně. První z nich (Level 1) pouze málo rozšiřuje předchozí verzi HTML. Level 2 navíc definuje práci s formuláři. Specifikaci HTML 2.0 nalezneme v RFC dokumentu číslo 1866.

Další rozšíření jazyka známá jako HTML+ zahrnují zejména rozšíření HTML o vytváření tabulek a matematických vzorců. Rovněž se zde objevují prvky, které umožňují precizněji kontrolovat výsledný vzhled textu – lepší obtékání obrázků textem a styly dokumentů. Dave Raggett z laboratoří Hawlett-Packard HTML+ formalizoval a vytvořil jeho definici jako DTD (Document Type Definition) v jazyce SGML – na jaře roku 1995 tak vznikl návrh standardu HTML 3.0.

Poznámka

Teď si možná řeknete co je to za knížku, když už na straně ### se to hemží samými neznámými pojmy jako DTD a SGML. SGML je metajazyk, který slouží k definici jiných jazyků – tedy i HTML. Této definici se pak říká DTD. Podrobný výklad vztahu mezi SGML, DTD a HTML naleznete v kapitole ???.

Některé prvky HTML 3.0, jako např. tabulky, podporovaly novější verze prohlížečů MosaicNetscape. Kompletní podporu pro většinu rysů HTML 3.0 nabízel pouze experimentální prohlížeč Arena, který se však nikdy příliš nerozšířil.

Na počátku roku 1996 již bylo jasné, že HTML 3.0 bylo tak mohutným skokem vpřed, že se nenašel nikdo, kdo by dokázal implementovat prohlížeč s jeho podporou. Vývoj standardů Webu v té době již koordinovalo konsorcium W3C, jehož členy jsou mimo jiné přední softwarové firmy. Členové W3C se tedy shodli na vlastnostech, o které rozšíří HTML 2.0, a vytvořili tak HTML 3.2. HTML 3.2 však zdaleka neobsahuje vše z HTML 3.0. Z verze 3.0 zůstaly v podstatě jen okleštěné tabulky. Ostatní nové prvky HTML 3.2 jsou jen jakousi směskou, kterou v té době podporovaly nejnovější prohlížeče. Opakoval se tedy v podstatě stejný postup jako při vzniku verze 2.0 – jazyk se sjednotil na průniku možností těch nejrozšířenějších prohlížečů. Kromě tabulek přibyly ve verzi 3.2 zejména možnosti lepší kontroly formátování včetně mnohem volnějšího výběru použitých druhů písma – logický ústupek požadavkům na graficky perfektně vypadající stránky. Další podstatné rozšíření se týkalo podpory Java appletů. HTML 3.2 neslo kódové označení Wilbur a od ledna 1997 bylo doporučením konsorcia W3C – znamená to, že by jej měli všichni používat, aby byla ve Webu zajištěna kompatibilita.

Většina prohlížečů však již od roku 1996/7 nabízela další rozšíření nad rámec HTML 3.2. Jejich používaní je však dvousečné – na jednu stranu nebyla nijak standardizována a některé prohlížeče jim nerozuměly, na stranu druhou jsou mnohdy velmi užitečná a jejich používaní a rozšíření urychlilo jejich zařazení do standardu. Mezi takováto rozšíření patří především rámy (frames) a klientské skriptovací jazyky (např. Javascript).

Na jaře roku 1997 zveřejnilo W3C další plány na rozšíření HTML pod kódovým názvem Cougar. Cougar v sobě zahrnuje HTML 3.2 společně s běžně používanými konstrukcemi jako jsou rámy, skripty a obecné vkládání objektů. Dalšími novinkami byla podpora vícejazyčných dokumentů. Na začátku července 1997 uveřejnilo W3C návrh HTML 4.0, který vznikl drobnými úpravami Cougaru a vytvořením jediného komplexního dokumentu popisujícího návrh standardu. V prosinci 1997 pak bylo HTML 4.0 přijato jako standard W3C. Od té doby se na dlouhou dobu samotný vývoj jazyka HTML – značky, které lze použít – v podstatě zastavil. V prosinci 1999 byl vydán nový standard HTML 4.01, který pouze opravuje některé drobné chyby v předchozí specifikaci.

Krátce po vydání specifikace HTML 4.0 zveřejnilo W3C ještě jeden standard – jazyk XML (eXtensible Markup Language). Ten se od svého vydání v roce 1998 stal ve světě informačních technologií všudypřítomným formátem pro výměnu a ukládání dat. XML ovlivnilo i další vývoj jazyka HTML. Na začátku roku 2000 byla vydána specifikace jazyka XHTML 1.0, která měla svoji syntaxi odvozenou od XML, nikoli od SGML jako HTML. V zásadě však šlo jen o kosmetickou změnu. Repertoár dostupných značek a jejich význam zůstal stejný, jen se drobně změnila syntaxe. Právě pro odlišení od předchozí verzí HTML, měla tato nové verze HTML založená na XML před svým názvem přidáno písmeno X. Pokud vás zajímají detailní rozdíly mezi HTML, XHTML, SGML a XML, podívejte se do kapitoly ???.

Na začátku tisíciletí se XHTML zdálo jako ta správná technologie nejen pro klasický web. Vznikly speciální zjednodušené verze XHTML, které nabízely jen některé funkce jazyka XHTML 1.0 a byly určené pro specifické použití. Například XHTML Basic pro mobilní zařízení nebo XHTML Print pro jednoduché tiskové výstupy. Aby bylo snazší vytvářet odnože jazyka XHTML, vzniklo XHTML 1.1, které do jazyka nepřidávalo v podstatě žádnou funkčnost, ale popisovalo mechanismus modularizace celého jazyka a vytváření vlastních odvozenin.

Bohužel historie ukázala, že samotné XHTML nebylo pro další vývoj webu tou nejlepší cestou. Jazyky XHTML 1.0 a 1.1 nepřidaly oproti HTML 4.01 v podstatě žádnou novou funkčnost. Kromě jisté módnosti tak nebyl pragmatický důvod pro masový přechod od HTML k XHTML. Navíc v té době nejpoužívanější prohlížeč Internet Explorer neuměl XHTML stránky zpracovávat úplně korektně (viz ???).

Na půdě W3C pak začala pracovní skupina XHTML vyvíjet další verzi jazyka XHTML 2.0, která přinášela mnohé zajímavé vlastnosti. Bohužel za cenu porušení kompatibility s předchozími verzemi jazyka HTML a XHTML. Pro výrobce prohlížečů to byl příliš revoluční krok – preferovali konzervativnější přístup postupného vylepšování stávajících funkčních technologií – tedy HTML 4.01 a XHTML 1.0. Nespokojenost výrobců prohlížečů pak dospěla tak daleko, že někteří z nich v roce 2004 založili společnou pracovní skupinu WHATWG (The Web Hypertext Application Technology Working Group). Na její půdě pak společně připravovali specifikaci platformy pro webové aplikace běžící v prohlížeči. Kromě rozšíření jazyka HTML specifikace zahrnovala i definice důležitých rozhraní pro využití ve skriptovacím jazyku Javascript.

Rozštěpení dalšího vývoje HTML samozřejmě nebylo žádoucí. Po dlouhých a složitých diskusích a jednáních nakonec i uvnitř W3C převážil názor, že XHTML 2 je slepá cesta, protože výrobci prohlížečů jej ignorují. V roce 2007 se proto síly W3C a WHATWG spojily a pracovní skupina HTML vzala jako základ specifikace vytvořené ve WHATWG a na jejich základě začalo vznikat HTML5.

HTML5 navazuje na HTML 4.01 a přidává pro vývojáře webových aplikací spoustu užitečných funkcí, kvůli kterým je výhodné tuto nejnovější verzi jazyka používat. Zároveň zachovává možnost používat pro zápis stránek syntaxi XML a používat tak de facto XHTML.

Důležité je však vědět, že v tuto chvíli není HTML5 hotové. Na jeho specifikaci se pořád pracuje. Některé její části jsou přitom již poměrně stabilní a podporuje je většina moderních prohlížečů. Naopak některé části HTML5 jsou zatím spíše experimentální a je otázkou, zda se časem prosadí a zůstanou ve finální verzi HTML5, jehož dokončení ani optimisté nečekají před rokem 2020.

V naší knize podrobně probereme HTML právě ve verzi 5. Od základů jazyka, které se nemění již více jak deset let, se postupně dostaneme až k jeho nejmodernějším funkcím. U těch rysů jazyka, které ještě nejsou široce podporovány v prohlížečích si přitom samozřejmě ukážeme, jak se s touto situací vypořádat.

Tento dokument je určen výhradně pro osobní potřebu seznámení se s jazykem HTML a tvorbou webových stránek. Jakékoliv jiné použití, včetně dalšího šíření, pořizování kopií, použití při školeních a výuce apod. je výslovně zakázáno a bude považováno za porušení autorských práv.


Copyright © 1997–2014 Jiří Kosek
blog comments powered by Disqus