Hlavní navigace

Nejsou RIA aplikace cestou do pekel?

29. 1. 2009 23:21 (aktualizováno) balwan

* pro vysvětlění pojmu RIA zde

Jsou Rich Internet Applications opravdu tím správným směrem, kterým se máme vydat?

Zdá se že ano.

RIA opravdu poskytují řadu výhod, především z uživatelského hlediska. Odpadá neustálé čekání na reload a refresh stránek. Ovládání webů, řešených přes tuto technologii, bývá většinou interaktvní a většinou také intuitivní. Práce s webem je díky tomu rychlejší, pohodlnější a v některých připadech i bezpečnější. Například pokud pracujeme s webovým textovým editorem, který svá data odesílá na pozadí serveru, neriskujeme tolik, jako když se celý text pokoušíme uložit až po hodině práce. Prohlížeč se samozřejmě zákařně složí minutu před dokončením a nám nezbude nic.

RIA aplikace vypadají opravdu jako logická evoluce webu a rozšíření stabilního standardu HTTP/HTML o další možnosti. A co když tímto rozšířením přijdeme o některé důležité vlastnosti?
Co třeba členitost webu – tedy rozložení velkých projektů na samostatné stránky.
Adresovatelnost, na jednotlivé stránky přece existují unikátní odkazy, kterými se na ně můžeme instantně přemístit.
Co operace Vpřed a Zpět, bude je stále možné v takovýchto aplikacích použivat?

Teď je na čase si přiblížit dva způsoby, jak na RIA aplikace. V zásadě máme dvě možnosti, jak takovouto aplikaci napsat.

  1. HTML + JavaScript
  2. Flash / Silverlight / další BLOB objekty instalované do prohlížeče

Začneme možností číslo 2. Technologie, se kterými zde můžeme pracovat, se v základu dost liší ale mají jedno společné. Jde o binární pluginy do prohlížečů. Uvnitř těchto programů, řekl bych i kontejnerů, naše aplikace poběží. V podstatě degradujeme prohlížeč na jakési okno okolo našeho pluginu, resp. naší aplikace. Dost zjednodušený pohled na danou problematiku, že? Ale pokud budeme vytvářet složitejší aplikaci s mnoha závislostmi, téměř jistě naše aplikace takto dopadne. Zřejmě několik samostatných stránek s komplexní aplikací typu Flash/Silverlight. Minimální možnost procházení stránek pomoci tlačítek Zpět/Vpřed, odkazy budou možné v zásadě jen na několik hlavních stránek, tedy hlavních uzlů do naší aplikace.
Možnosti indexace našeho webu ve vyhledávačích budou také značně omezené:/

Snad na tom bude lépe varianta č. 1, tedy HTML v kombinaci s JavaScriptem. Aby nedošlo k nedorozumění, pod spojením RIA, HTML a JavaScript mám na mysli aplikaci typu GMail. Tedy aplikaci, která víceméně celá běží na straně klienta a se serverem komunikaje přes, k tomu určené, webové služby. Snad mi lidé prominou tento laický pohled. Blíže jsem celý systém GMailu, potažmo Googlu nezkoumal.
Co se týka propojení celého GMailu adresami, zřejmě funguje. Na jednotlivé části je možné se odkazovat a aplikace se tak chová jako normální aplikace složená ze statických stránek. Tlačítka Vpřed a Zpět jsou také funkční a poslední hledisko, tedy indexování celého webu, je zde irelevantní. Indexovaní webu s veřejnými informacemi by skončilo podobně jako v přechozí variantě, možná o několik bodů lip. Velmi pak záleží na tom, jak bude aplikace udělána, a jestli se majoritní vyhledávače naučí indexovat obsah BLOB pluginů.

V souvislosti s Googlem jsem zde mluvil o webovych službách a komunikaci přes rozhraní. Ale nepřipomíná to až moc komunikaci tlustého klienta se serverem? Do jisté míry jistě ano. Pokud se na GMail podíváme trochu s nadhledem, mohli bychom o něm prohlásit, že je to vlastně tlustý klient, který neběží nativně na počítači uživatele, ale využíva prohlížeč jako svoji operační platformu. Přes prohlížeč se spouští, běží, aktualizuje. Jako prezentační vrstvu používá HTML a CSS, tedy technologie které byly primárně navrhovány k formátování a prezentaci textových informací. Je to jak malovat umělecký obraz drátěným kartáčem. Jde to, ale …

Takový je podle mě stav současných RIA aplikací.

Tento článeček jsem napsal jednak proto, abych si sám utříbil myšlenky a přišel na to, kterým směrem se jako webdevelopr vydat. Ale také proto abych zjistil názor ostatních na danou problematiku. Budu moc rád pokud do dizkuze přidáte i Váš názor.

Děkuji