V minulém dílu našeho mini-seriálu jsme si popsali, jak se lze v dnešní době „poprat“ s interaktivitou a která řešení se k tomu nejčastěji používají. Zmínili jsme Adobe Flash, Sun Java, Microsoft .NET Framework a další. Situace na Internetu se pochopitelně v jednom kuse mění, protože všechny zmiňované technologie se průběžně vyvíjejí a zdokonalují. Neustále tak přicházejí nové verze, ve kterých se opravují staré chyby (a tvoří se nové) a objevují se i další funkce.
Ovšem jak jsme si posledně v závěru zdůraznili, kromě výše uvedených nástrojů se objevují i prostředky nové. Takže zatímco v minulosti jsme byli svědky „války“ operačních systémů či internetových prohlížečů, v současnosti probíhá něco jako „boj o interaktivitu“. A tyto boje se přiostřují, protože do hry vstupují i další hráči, kteří soupeří jednak mezi sebou a jednak se snaží nabídnout alternativu i oproti těm současným a již etablovaným. A právě novým zajímavým konceptům interaktivity se budeme v tomto článku věnovat.
JavaFX
Jak už jsme si řekli posledně, není Java jako JavaScript. Nicméně zatímco samotný JavaScript slaví četné úspěchy (například svojí integrací do populární technologie AJAX), samotná platforma Java už tolik využívaná není. Řada vývojářů patrně ještě s nelibostí vzpomíná na první verze Javy, které byly pomalé a neefektivní, ale situace se přeci jen trochu zlepšila (i když to s tou rychlostí stále není slavné). Člověk na Java Applety zkrátka moc často nenarazí, což se pochopitelně nelíbí tvůrcům, tedy společnosti Sun Microsystems.
Odpovědí Sunu na silnou konkurenci v oblasti interaktivních aplikací je nový skriptovací jazyk s názvem JavaFX (respektive JavaFX Script; JavaFX označuje celou rodinu produktů). Cílem je pochopitelně zaútočit na oblast RIA (mezi desktopy, mobilní zařízení i TV) a oslabit tak pozici ostatních soupeřů, jakými jsou třeba Flash či Silverlight. Koncept je takový, že u systémů s nainstalovanou platformou Java stačí doinstalovat už jen doplňkovou knihovnu, a vše by mělo fungovat. Pro vývoj aplikací lze použít kupříkladu IDE (= Integrated Development Environment) NetBeans, které je zdarma a open-source.
Stejně jako u původní Javy by také JavaFX měla pracovat napříč platformami (již zmiňovaný přístup write once, run anywhere
), takže jejímu rozšíření by nemělo už nic stát v cestě. Jedná se nepochybně o odvážný projekt, a ačkoliv v oblasti interaktivních internetových aplikací patrně své konkurenty neporazí, zacílení na oblast mobilních zařízení se určitě vyplatí – je to důležitý segment trhu a s příchodem novějších a výkonnějších smartphones a PDA bude jeho význam i nadále stoupat.
Produkty JavaFX v širším kontextu (zdroj: Sun.com)
Stříbrné světlo přichází
Pozice softwarového kolosu Microsoft byla na Internetu vždy tak trochu zvláštní – na jednu stranu je tvůrcem celé řady významných technologií (například ActiveX či .NET Framework) a samotný Internet Explorer je stále nejrozšířenějším prohlížečem (ať se někomu líbí nebo ne), ale na druhou stanu ve webových službách nikdy nijak zvlášť neexceloval, respektive nikdy nedosahoval takových úspěchů a tržních podílů, jako tomu je v případě systému Windows nebo balíku Office. Služby jako MSN nebo Live jsou sice zajímavé, ale poněkud zaostávají třeba za alternativami, které nabízí Google. Nicméně oblast interaktivních aplikací je natolik lákavá, že Microsoft neodolal a také se zapojil. Jeho novým (a relativně silným) bojovníkem je program SilverLight, který je často skloňován jakožto přímý konkurent Flashe (tzv. „Flash-killer“).
Stejně jako Flash i Silverlight dokáže pracovat s multimediálním obsahem (grafika, animace, video) a umožňuje i značnou interaktivitu (v tomto ohledu současně konkuruje například technologii JavaFX). Jednotlivé elementy lze animovat a pochopitelně je možné i plno funkcí naprogramovat (ke skriptování je v současnosti využíván JavaScript). Jednou z často propagovaných výhod je mimo jiné i snazší vyhledatelnost výsledných dokumentů a projektů (Flash je totiž známý tím, že se indexuje obtížně).
Mezi nevýhody nového nástroje lze řadit například (u Microsoftu typické) ignorování standardů – např. místo obvyklého formátu SVG (= Scallable Vector Graphic) pro vektorovou grafiku využívají vlastní značkovací jazyk XAML (= Extensible Application Markup Language), který je lépe kompatibilní s „domácím“ vývojovým prostředím .NET Framework. Protože se jedná teprve o první verzi, nejsou pochopitelně ještě vychytané všechny problémy, takže Silverlight například nemusí fungovat (a také nefunguje) na všech systémech a ve všech webových prohlížečích. Silverlight má ale každopádně značný potenciál a s přihlédnutím k silnému vlivu Microsoftu je jasné, že si své místo na Síti určitě najde.
Stránky o Silverlightu poháněné Silverlightem
A jedeme dál…
Dalším novým hráčem na poli interaktivity je zápasník z týmu Adobe; tentokrát se jedná o projekt AIR (neboli Adobe Integrated Runtime), který byl dříve známý jako „Apollo“. Jedná se pochopitelně o rozhraní na tvorbu RIA, a zejména pak webových a desktopových aplikací. Opět jde o mix různých technologií (HTML, Flash, Flex, AJAX, …), přičemž je důležité zmínit, že AIR je multiplatformní (stejně jako Java / JavaFX; na rozdíl třeba od rozhraní .NET). Cílem programu je vytvářet desktopové aplikace komunikující se svými online protějšky, což by mělo zefektivnit práci s informacemi a také ulehčit serverům. Pěkným příkladem je třeba betaverze aplikace eBay Desktop.
Když hovoříme o Internetu, nabízí se otázka: „A co na to internetový kolos Google?“ Inu, šikulové z Kalifornie mají na svědomí již docela velké množství služeb a aplikací – e-maily, mapy, blogy, kalendáře, virtuální disky… ale zatím žádný nástroj na vytváření aplikací dalších. Oblasti RIA se alespoň částečně dotýká nástroj Google Gears, který se zaměřuje na tvorbu online aplikací fungujících offline. Toho se docílí zejména pomocí průběžného stahování dat na lokální disk a do cache – stahují se maily, zprávy v rss čtečkách, obsahy databází… (tedy alespoň v ideálním případě, protože nejprve to musí daná aplikace podporovat – což zatím činí snad jedině Google Reader). Ovšem i když při dlouhodobém výpadku spojení stažená data zákonitě jednou „dojdou“, pro práci s občasným či nestabilním připojením se jedná o zajímavý nástroj.
Protože Adobe rozhodně nechce nechat nic náhodě, kromě plného nasazení svých současných zbraní (Flash & Flex, AIR) vyvíjí i nástroje další – jedním z nich je také produkt s kódovým označením Thermo. Adobe hodně spoléhá na integraci (celý megabalík Creative Suite je vzájemně propojený) a Thermo nebude výjimkou. Nástroj by měl znásobit efektivitu dvojice Flash a Flex a navíc přinést perfektní integraci s dalšími produkty jako Photoshop, Illustrator či Fireworks. Například obrázek v grafickém programu se snadno přemění v hotový skin aplikace a další prvky bude možné transformovat v jednotlivé komponenty. Bude se tedy pravděpodobně jednat zejména o nástroj na tvorbu rozhraní, ale ve spojení s ostatními produkty už budou možnosti takřka neomezené.
Aplikace eBay Desktop vytvořená pomocí Adobe AIR
Spása, nebo cesta do pekel?
Jak je vidět, o soupeře v tomto novém klání rozhodně není nouze. Otázkou ale zůstává, zdali se jedná o pozitivní věc, nebo spíše o počátek možných budoucích problémů. Výhodou je samozřejmě možnost výběru (jak pro vývojáře, tak i pro koncové uživatele), a díky vzájemné rivalitě se budou jednotlivé technologie velmi rychle vyvíjet (neboť všichni se budou snažit ukořistit nové zákazníky a zároveň neztratit ty staré). Možnou hrozbou je ale určitá „roztříštěnost“, kdy v krajním případě bude každá stránka používat jinou technologii a nebohý uživatel si bude neustále stahovat nějaké pluginy, přehrávače a aktualizace.
Odstrašujícím příkladem budiž třeba stav 3D na Internetu – jak jsem zmiňoval už ve svém článku o virtuálních světech, pro zobrazení trojrozměrných objektů je možné použít některý z mnoha různých pluginů (například BS Contact, Cortona, Octaga Player nebo Blaxxun), přičemž mezi nimi není úplná kompatibilita, a některé virtuální webové aplikace vyžadují jen jeden konkrétní přehrávač. A to všechny tyto pluginy běží v podstatě jen na dvou standardech: VRML a novější X3D. V případě interaktivity a RIA je standardů a konceptů ještě mnohem více.
Nezbývá tedy než doufat, že se situace časem nějak ustálí a určitým „přirozeným výběrem“ nám zůstanou jen někteří vítězové, kteří zajistí, že pro většinu webových stránek budou stačit dejme tomu dva tři pluginy, a ostatní technologie ustoupí do pozadí (což je dnes řekl bych příklad třeba již zmiňovaných Java appletů). Na každý pád bude zajímavé tento pozoruhodný vývoj sledovat. Ovšem které z konceptů se probojují až do pomyslného finále, to ukáže teprve čas.