Hlavní navigace

Web ovládnou aplikace

Martin Kopta

Podstata webu tkví v dokumentech vzájemně propojených odkazy -- nebo alespoň tak jsme se to o webu učili, a tak to posíláme dál. Přesto už tahle definice není tak docela pravdivá. Z webu se stává síť aplikací, které spolu mohou spolupracovat. Některé aplikace používají HTML jako uživatelské prostředí, jiné jej ponížily na "transportní" obal.

Ovšem ani stránka v HTML nemusí mít povahu dokumentu. Z prohlížečů se tak stává obecné aplikační prostředí, někdy rozšířené moduly (plugin).

Aplikace dobývají web

Aplikace web dobývají ze tří pozic. Nejrozšířenější jsou serverové aplikace s uživatelským rozhraním generovaným v HTML. Ty pojetí webu jako velké knihovny příliš neohrožují. Druhým typem jsou aplikace klientské. Server odešle prohlížeči kód, který žije v prohlížeči dále vlastním životem a okolní web vlastně nepotřebuje. Tyto aplikace se vyvinuly z javascriptu a porušení jejich funkčnosti web většinou neohrozí. Třetím – a podle mého názoru nejmilitantnějším – druhem jsou distribuované aplikace a aplikace typu klient-server.

Přechod od statických dokumentů k informačním aplikacím umožnilo rozšíření pevného připojení k Internetu. Zatímco v počátečních dobách webu jste si mohli stránky bezelstně překopírovat na počítač bez přístupu k Internetu, aplikace, které nyní dobývají web, vám podobný postup téměř znemožní.

Nejvíce problematické z tohoto pohledu jsou aplikace vyžadující komunikaci se serverem. Do prohlížeče (aplikačního prostředí webu) server nejdříve odešle jen šablonu s uživatelským rozhraním a potřebným aplikačním kódem a samotný obsah si už potom „vetřelec“ na klientském počítači vyžádá od „matky“ v síti, v závislosti na interakci s uživatelem.

Dějiny aplikačního odbojového hnutí

První náznaky o blížící se invazi aplikací na web musíme hledat ve třech nezávislých technologiích. V prvním okamžiku nás oprávněně napadne Sun Java, která prostřednictvím apletů umožnila poprvé průnik aplikací do dokumentů webu. Přestože jde o poměrně starý průnik, už ve svých počátcích umožňoval kvalitní nezávislou komunikaci mezi klientem a serverem.

Druhou branou, kterou se aplikace vplížily na web, je Netscape JavaScript. Ač jazyk sám neumožňuje navázání komunikace se serverem, programátoři přišli na možnost odesílat serveru data prostřednictvím parametrů URL při načítání skrytých obrázkových objektů. Informace do prohlížeče zpět pak je možné dopravovat dynamickým vytvořením prvku script v dokumentu s odkazem na zdroj skriptu na vzdáleném serveru. Ač se jedná o velmi omezenou a nepohodlnou komunikaci, setkáme se s ní v současnosti nejčastěji a nadále tuto vývojovou větev můžeme považovat za progresivní.

Třetí cestou k aplikačnímu webu se stal paradoxně sám jazyk HTML, když se v jeho třetí generaci objevily prvky rámových struktur a plovoucích rámů. Nejenže lze klientským skriptem měnit sestavu rámů a zasahovat do jejich obsahu, rámy ve velkém rozšířily největší nešvar aplikačního webu:

  • nelze je snadno uložit,
  • nelze je rozumně tisknout,
  • nelze na ně odkazovat.

Nástup flashismu v 21. století

Popularita Javy byla na klientu přebita novou technologií. Původně neškodný Flash – toliko formát pro vektorové animace – se od čtvrté generace stává dalším aplikačním prostředím. Začlenění a propracování skriptovacího jazyka ActionScript, a zvláště jeho metod pro komunikaci se serverem (z počátku jen loadVariables, poději také stahování movie-clipů a výměna informací ve formě XML), nastolily pro tvůrce aplikací zcela nový řád.

Aplikace psaná ve flashi dnes umí sama komunikovat se serverem na velmi pokročilé bázi a je schopna prostřednictvím javascriptu dorozumět se i s prohlížečem (který ovšem nutně pro svůj život nepotřebuje). Samotné HTML pro flash dnes představuje jen obalový formát, který má usnadnit dopravení aplikace k uživateli po webu.

Vzhledem k tomu, že možnosti komunikace flashe se serverem jsou v současnosti jistější a nezávislé na platformě, mohlo by se stát, že díky propojení javascriptu s actionscriptem bude naopak flash používán jen jako komunikační spojení. Sice to vypadá opět jako kostrbaté řešení, ale je funkční. Dopravování informací na stránky HTML a z nich zpět na server prostřednictvím flashe nic nebrání.

Macromedia v šesté generaci flashe přistoupila k další ofenzivě, když nabídla svým vývojářům Flash Communication Server MX, který je ve spolupráci s klientským flashem schopný v závislosti na událostech v aplikaci synchronizovat data, distribuovat a přijímat multimediální formáty (minulý týden byla v Praze představena videokonference ve flashi) a dokonce umožňuje i spolupráci jednotlivých klientských aplikací navzájem.

XML-RPC: smrtící úder do týla

Náskok flashe v možnostech komunikace se serverem je zřetelný, přesto lze synchronizaci dat mezi klientem a serverem realizovat i prostřednictvím technologií webu. Zde už nehovoříme o starém HTML a původním javascriptu, ale o strukturním jazyku XML a objektech DOM, respektive o objektech prohlížečů.

Objekty dostupné ve stávajících verzích Mozilly a Internet Exploreru umožňují otevřít spojení se serverem a odeslat či přijmout data v XML. K těmto datům může pak na klientu přistupovat skript přes objekty DOM. Jedinou nevýhodou tohoto přístupu je rozdílnost platforem. Zatímco v Mozille ke komunikaci se serverem potřebujete pouze objekty DOM ( implementation),v Internet Exploreru k témuž využíváte objektů ActiveX, které někteří uživatelé vyřazují z provozu.

Z vývoje v posledních letech je více než jasné, kudy se bude ubírat web. Statické dokumenty uložené na serveru už dnes téměř vymizely. Budoucnost webu minimalizuje význam samotného počítače, bez připojení do sítě vám bude přístup k informacím odepřen. Tímto postupem zcela jistě budou diskriminováni uživatelé vytáčeného spojení – tedy především lidé z odlehlých a chudých regionů světa. Sociální rozměr invaze aplikací na webu však už přesahuje formát rubriky okénka.

Přesto si na závěr neodpustím zasadit semínko naděje: ohromná vlna popularity weblogů, které ve své většině generují statické stránky a potřebu tvorby odkazů napříč webem, by mohla postavit pevnou barieru pronikání distribuovaných aplikací a zachránit dokumentové pojetí webu.

Anketa

Vadí vám proměna webu v prostředí pro distribuované aplikace?

Našli jste v článku chybu?