Co hýbe dnešními webovými stránkami

30. 10. 2007
Doba čtení: 6 minut

Sdílet

Autor: 29
Interaktivní aplikace jsou velmi důležitou součástí Internetu. Asi každý dnes zná Flash, ale ten není zdaleka jedinou možností, jak oživit webové stránky. V několika článcích se proto podíváme na současnost i budoucnost těchto technologií a popíšeme ty nejznámější z nich.

Zkratka RIA označuje sousloví Rich Internet Applications, a jak již název napovídá, jedná se o webové aplikace, které umožňují „bohatší“ zážitek ze surfování kyberprostorem. Obecně se tím myslí zejména interaktivita, jejíž příchod proměnil pasivní internetové stránky ve webové aplikace, které na uživatele reagují, je možné je ovládat a poskytují zpětnou vazbu. Příkladů interaktivních aplikací je obrovské množství a zahrnují všechno možné od jednoduchých chatů nebo webových formulářů až po sofistikovaná ovládací rozhraní, se kterými lze pracovat podobně jako s desktopovými programy.

Ve srovnání s klasickými webovými aplikacemi (do kterých by se dal zařadit zrovna třeba nějaký ten chat) už složitější RIA nevystačí pouze s kódem HTML a elementární komunikací klient – server; ke své práci obvykle potřebují nějaký dodatečný program, přehrávač či plugin. Mezi nejznámější takové „zprostředkovatele interaktivity“ patří zejména Flash nebo Java – a samozřejmě i další, na které se podíváme v následujících odstavcích.

Java & JavaScript

I když zmíněné názvy vypadají podobně, nejedná se o totéž. Java je objektově orientovaný programovací jazyk a jde o technologii, která vznikla jako interní projekt společnosti Sun Microsystems už někdy kolem roku 1990. Na Internet se sice dostala až v roce 1995 (kdy byla představena), ale i tak se jedná o jednu z prvních technologií, jak vytvářet RIA. Programovací jazyk Javy vychází z C a C++, ale je o něco jednodušší. Díky speciálnímu softwaru na straně klienta (Java Virtual Machine) umožňuje běh i relativně složitých aplikací v rámci prohlížeče (ve formě tzv. Java appletů). Velikou výhodou Javy je také schopnost fungovat napříč platformami (Windows, Mac OS, Linux).

java_app

Příklad hry v Javě

JavaScript je známý skriptovací jazyk, který se objevil na přelomu let 1995 a 1996 jako součást prohlížeče Netscape Navigator. Jeho možnosti jsou skutečně široké – od otvírání nových (pop-up) oken až po šikovné funkce webových stránek. Na bázi JavaScriptu pracuje například Gmail, který umožňuje průběžnou automatickou aktualizaci doručené pošty, a současně lze třeba chatovat s jinými připojenými uživateli. Dalším pěkným příkladem jsou všelijaké našeptávače u vyhledávání, kde se seznam doporučených slov průběžně aktualizuje podle zadávaných písmen (aniž by se reloadovala celá webová stránka).

V poslední době se lze také často setkat s označením „AJAX“, což je v podstatě kombinace klasických webových technologií jako html/xml právě s JavaScriptem (však také zkratka AJAX označuje „Asynchronous JavaScript and XML). Ačkoliv se AJAX často označuje jako nový přístup v oblasti webových aplikací (zejména ve spojení s obratem „Web 2.0“), jedná se ve skutečnosti o balík „starých známých“ prvků. Takže když jsem zmínil, že Gmail využívá JavaScript, tak lze zároveň říci, že Gmail pracuje s technologií AJAX, protože se jedná v podstatě o to samé.

Kreativita jménem Flash

Flashové technologie se na Internetu objevily zhruba ve stejném období jako Java, tedy v roce 1996. Flash se v samotných počátcích ovšem nezaměřoval na interaktivitu jako takovou, ale zejména na oblast grafiky a vektorových animací. Nicméně v průběhu let se vyvinul ve velice schopný multimediální kreativní nástroj s téměř neomezenými možnostmi a schopnostmi. V současnosti tak v podstatě dominuje oblasti interaktivní grafiky na World Wide Webu, a je možné narazit i na celé webové stránky vytvořené právě ve Flashi.

Co se historie týče, vše začalo před jedenácti lety, když společnost Macromedia odkoupila program FutureSplash Animator firmy FutureWave Software. Světlo světa tak spatřil Flash 1 a skoro každý další rok pak vycházely nové verze, které se neustále zdokonalovaly a vyvíjely (kupříkladu hned druhá verze z roku 1997 představila tlačítka, tedy první krok k nějaké základní interakci). Na konci roku 2005 byla společnost Macromedia pohlcena ještě větším gigantem, společností Adobe Systems, pod jejíž hlavičkou vyšla před časem zatím poslední verze, Adobe Flash CS3 (= Creative Suite 3).

V současné době jsou flashové technologie schopné téměř všeho. Na nejzákladnější úrovni se s Flashem můžeme setkat ve formě reklamních bannerů či zábavných animací, ale to je jen ona pomyslná špička ledovce. Součástí Flashe je totiž programovací jazyk ActionScript, s jehož pomocí lze vytvářet interaktivní aplikace nebo třeba i jednodušší hry. Flash dokáže pracovat s textem, bitmapovou i vektorovou grafikou a dalšími multimédii; rozumí si se vzdálenými databázemi a velmi často se používá třeba na streamování videa (viz např. YouTube). Jeho schopnosti jdou ruku v ruce i s jeho rozšířením, protože penetrace flashového pluginu je podle údajů Adobe cca 99 % (přičemž přibližně 94 % uživatelů má poslední verzi, tedy Flash Player 9).

flash_app

Ukázka zajímavě řešených webových stránek ve Flashi

Další hráči

O interaktivitu na webu se nyní samozřejmě nestará pouze JavaScript a Flash. Existuje řada dalších technologií, které dokázaly a dokáží znásobit defaultní možnosti webových browserů. Často se například používají prvky ActiveX, které se stahují jako volitelné doplňky a následně se integrují do prohlížeče. S ActiveX pracují kupříkladu služby jako online antivirové programy, různé přehrávače videa nebo pluginy na 3D. Ostatně i flashový přehrávač se do browseru integruje jako ActiveX. Velikým problémem je ovšem riziko infekce virů či jiných škodlivých programů (spyware, malware) – jakmile totiž uživatel „povolí“ spuštění pluginu, otevře se tím pomyslná brána do systému, kterou může projít de facto cokoliv. Protože se jedná o technologii Microsoftu, nativní podporu pro tyto pluginy najdeme pouze v prohlížeči Internet Explorer.

Zapomenout by se nemělo ani na rozhraní Microsoft .NET Framework. Jedná se o vývojové prostředí pro tvorbu webových aplikací, aplikací pro servery, konzole, databáze a další. Nástroj je to velice silný a v současnosti je ve verzi 3.0. Ovšem jak by se dalo u Microsoftu čekat, problémem je opět kompatibilita, protože problémy mají mezi sebou i jednotlivé verze. Další nepříjemností je také omezování podpory starších systémů (kupříkladu .NET 3.0 podporuje pouze systémy Windows 2003 Server SP1, Windows XP SP2 a Windows Vista). Plnou podporu rozhraní (všech verzí) tak poskytuje pouze platforma Windows, a pod systémy Linux a Mac je funkčnost jen částečná.

Microsoft si sice s oblibou vyvíjí své vlastní formáty, ale není sám. Svůj proprietární jazyk vyvinula i Mozilla a jeho jméno je XUL (= XML User Interface Language). Jedná se o zajímavý formát pro tvorbu grafického rozhraní, ale jeho jedinou pořádnou dosavadní implementací je renderovací jádro Gecko (které pohání například Firefox a další příbuzné browsery). Ještě bych také zmínil RIA platformu OpenLaszlo, které kombinuje technologie XML a JavaScript a rozumí si i s Flashem. Pracuje na bázi open-source a na rozdíl od jiných alternativ se pyšní filosofií „write once, run anywhere“, což znamená podporu pro všechny významné systémy a webové prohlížeče. OpenLaszlo je v současné době ve verzi 4.0.

net_frame_big

Schéma architektury .NET Framework (zdroj: Wikipedia)

Interaktivita sem, interaktivita tam…

Jak je z předchozího textu patrné, je z čeho si vybírat. V současné době existuje celá řada možností, jak vytvořit interaktivní aplikace (ať už v rámci okna webového browseru, či jako desktopovou aplikaci komunikující se vzdálenými servery). Nepříjemností je ale ne vždy dostatečná kompatibilita (nejen mezi systémy a browsery, ale třeba i mezi různými verzemi stejného frameworku). Můžeme si povzdychnout, že například W3C poněkud zaspalo dobu, ale to je tak všechno, co s tím asi můžeme dělat.

Ovšem aby toho náhodou nebylo málo, do stávajícího „boje o interaktivitu“ se nezapojují pouze nynější hráči (třeba s novými verzemi stávajících technologií), ale objevují se i řešení nová. Microsoft SilverLight, Adobe AIR, JavaFX – to jsou asi nejdůležitější příklady nových konceptů, o kterých si něco povíme zase příště.

Způsobila vám někdy nedostatečná kompatibilita potíže při užívání webových interaktivních aplikací?

Autor článku

Autor vystudoval obor Informační studia a knihovnictví na Filozofické fakultě Univerzity Karlovy a v současnosti pokračuje oborem Studia nových médií tamtéž.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).