Vyšlo na www.mediaserver.cz dne 19. května 1997
Vytištěno z adresy: http://www.earchiv.cz/axxxk160/a705k166.php3

Dynamic HTML

Dynamic HTML: v širším slova smyslu (a s malým písmenem "d" na začátku) obecné označení pro takové WWW stránky, které nejsou statické, ale nějakým způsobem se mění, upravují či dynamicky vznikají. V užším slova smyslu (s velkým písmenem "D" na začátku) shodné jméno dvou odlišných návrhů na rozšíření specifikací jazyka HTML, které ke konsorciu W3C podaly firmy Microsoft a Netscape.


Cesty k dalšímu zdokonalování prezentačních schopností služby World Wide Web se ubírají mnoha různými cestami. Jednou z nich je i myšlenka nemít příslušné stránky předem připraveny přesně v takovém tvaru, v jaké budou uživateli zaslány a následně zobrazeny, ale nějakým způsobem je měnit, upravovat či přímo vytvářet podle konkrétních požadavků toho, kdo si o ně řekne. V našich zeměpisných šířkách lze odlišnost těchto dvou přístupů dokumentovat způsobem, jakým bývá řešena podpora češtiny: ta vyžaduje, aby podle konkrétních požadavků klienta mu byly jednotlivé stránky zasílány v takovém kódování naší mateřštiny, jaké jeho browser podporuje. Pro provozovatele WWW serverů připadají v úvahu dvě základní možnosti: mít předem připraveny všechny stránky ve všech potřebných způsobech kódování, a pak jen uživateli "podstrčit" tu kterou přesně chce, nebo mít všechny stránky jen v jediném exempláři s jediným kódováním jako určitý vzor, a stránku s případným jiným kódováním dynamicky vygenerovat podle tohoto vzoru až v okamžiku, kdy to někdo explicitně požaduje.

Jiným příkladem dynamicky generovaných stránek mohou být odpovědi na nejrůznější dotazy, od dotazů vyhledávacím službám až po všelijaké databázové dotazy - u těch je jistě zřejmé, že nemohou být předem připraveny, ale musí být dynamicky sestavovány až na základě konkrétních dotazů. Stejně tak jsou ale dynamicky generovány například i nabídkové stránky nejrůznějších katalogů, u nás třeba oblíbeného Seznamu, či elektronických publikací (například Svět namodro). K dynamickému generování WWW stránek přitom existují nejrůznější techniky a metody, které již zde nemáme prostor podrobněji rozebírat. Důležité ale je, že v širším slova smyslu se "dynamickým HTML" rozumí právě takovéto dynamické generování WWW stránek, a to na straně serveru.

V případě "Dynamického HTML" jde o něco jiného - zde jde primárně o další rozšíření možností a schopností jazyka HTML, tak aby WWW stránky byly ještě hezčí a ještě více "funkční". Hlavním směrem, kterým se toto rozšíření ubírá, je možnost modifikovat (dynamicky měnit) WWW stránky i na straně uživatele, přímo v jeho browseru - například tím, že bude možné průběžně přepisovat obsah právě zobrazované stránky, a tím měnit její vzhled i další vlastnosti a parametry. Zřejmě právě proto jsou oba konkrétní návrhy pojmenovány jako "Dynamické HTML".

Za vším přitom stojí zajímavá a velmi důležitá myšlenka: až dosud se WWW klient (browser) doslova s každou maličkostí obracel na WWW server, což mnohdy zbytečně zatěžovalo existující přenosové cesty. Nyní je tendence zařídit věci tak, aby si browsery co možná nejvíce vystačily samy, a nemusely se tak často obracet na WWW servery. Jako příklad si lze představit výsledek uživatelského dotazu, který obsahuje určitou množinu položek (například průměrné denní teploty v různých dnech). Pokud si uživatel bude chtít tato data prohlížet v různém uspořádání (jednou jako tabulku uspořádanou podle jednoho sloupce, podruhé uspořádanou podle jiného sloupce, potřetí jako graf atd.), bude mu moci vyhovět již přímo browser, a nebude nutné s každým přeuspořádáním již jednou poskytnutých dat obtěžovat server.

Dalším důležitým aspektem návrhů "Dynamic HTML" je jejich snaha přenést na klienta také více práce s konkrétním zobrazováním nejrůznějších grafických efektů. Zatím byla situace spíše taková, že pokud bylo na určité WWW stránce potřeba dosáhnout nějakých "neobvyklejší" efektů (například různých nekonvenčních nápisů), jejich grafická podoba se připravila předem a zakomponovala již do zdrojového tvaru WWW stránky, uložené na serveru (nejčastěji ve formě obrázků). Důsledkem pak byly velké objemy dat, které bylo třeba přenést mezi serverem a WWW browserem. Nyní je snaha přenést co možná nejvíce na stranu klienta - efektní nápis se přenese jako běžný text, a spolu s ním se přenese i příkaz, specifikující jak konkrétně má být text zobrazen - včetně požadavků například na jeho stínování, natočení, blikání, pohyb apod.

Konkrétní návrhy na rozšíření stávajících specifikací jazyka HTML, které pod jménem "Dynamic HTML" připravily firmy Netscape a Microsoft, se shodují v zavádění mechanismů pro takové věci, jako je přesné polohování objektů na WWW stránce (možnost explicitně zadat jejich absolutní či relativní souřadnice), možnost vytvářet na WWW stránkách průhledné vrstvy, či pokročilejší možnosti práce s fonty. Liší se ale v mnoha důležitých aspektech, mimo jiné i v použitém objektovém modelu a způsobu skriptování: návrh firmy Netscape předpokládá pouze použití skriptového jazyka JavaScript, zatímco Microsoft navrhuje svou vlastní verzi JavaScriptu (Jscript) a jazyk VBScript. Další významné odlišnosti jsou například v tom, jak konkrétné bude možné přepisovat či jinak měnit HTML kód právě zobrazované stránky.

Oba konkurenční návrhy jsou dnes na stole konsorcia W3C, který se dalším rozvojem jazyka HTML zabývá, a je kompetentní některý z nich přijmout a vydat jako standard Internetu. O šancích jednotlivých návrhů "projít" je dnes možné pouze spekulovat, a tak si raději počkejme na oficiální výsledek. Oba velcí producenti již předem signalizují, že do svých browserů zabudují podporu pro kteroukoli variantu, která bude konsorciem W3C přijata (což není tak překvapující). Nepříjemná je ale skutečnost, že již dnes je podpora jednotlivých navrhovaných rozšíření (dosud proprietárních) zabudována do prvních ranných verzí nových browserů obou firem (Communicatoru firmy Netscape a Exploreru 4.0 firmy Microsoft), ale samozřejmě jen "té své" varianty, a že je jen malá šance, že by definitivní standard W3C mohl být ještě včas zapracován do obou vlajkových produktů dříve, než přijde na svět jejich definitivní verze. Jinak totiž hrozí další zhoršení "nekompatibility" WWW stránek, které půjdou zobrazit s maximálním efektem jen na jednom druhu browseru, nebo budou muset být připraveny ve dvou verzích, uzpůsobených jednotlivým prohlížečům.


Další zdroje informací:
Seznam návrhů, předkládaných konsorciu W3C, lze najít zde. Materiály technického charakteru od tohoto konsorcia lze nalézt zde. Představu firmy Microsoft o "Dynamickém HTML" lze najít zde, konkrétní návrh, předložený konsorciu W3C, je na WWW sice dostupný, ale pouze pro členy W3C. Představu firmy Netscape o Dynamickém HTML lze najít v její tiskové zprávě o nové verzi produktu Communicator.