Rich Internet Applications (RIA) jsou webové aplikace, které mají některé vlastnosti grafických desktopových aplikací. Díky mocným vývojovým nástrojům mohou být aplikace založené na RIA rychlejší a užitečnější. Uživateli poskytnou lepší visuální zážitek a vyšší interaktivitu oproti tradičním aplikacím, běžícím v prohlížeči, založeným na HTML a HTTP.
První uživatelé internetu si nejčastěji posílali textové elektronické zprávy. Poté přišlo HTML a WWW, díky čemuž lidé brzy získali přístup ke graficky pokročilejším webovým stránkám navrhovaným specialisty a dostupným na požádání. Všechny tyto aplikace byly založeny na čtení textu na obrazovce a byly vytvořeny na základě předformátovaného a statického materiálu.
Pro manipulaci s daty a práci se sofistikovanými nástroji spoléhali uživatelé na specializovaný software v jejich počítačích a sítích. Potom se objevila myšlenka, že by mohlo být možné poskytovat aplikace přes standardní webové rozhraní, které by mohli lidé ovládat pomocí internetových prohlížečů.
I když šlo o velký úspěch Webu, měla tato technologie nepříjemné omezení. Statický, nestavový protokol HTTP neumožňoval plnohodnotnou interaktivitu, čímž aplikace degradoval na úroveň asynchronních aplikací ze 70. let.
Dnes to dokážeme mnohem lépe.
Dnes mohou programátoři vložit téměř jakoukoliv potřebnou funkcionalitu do grafického rozhraní založeného na webových technologiích, a zajistit tak, že vypadá a chová se jako tradiční software.
Díky moderním nástrojům dokáží vývojáři tvořit komplexní aplikace s využitím široké palety médií, jako např. různé fonty, bitmapové a vektorové grafické soubory, animace, on-line konference, audio a video. Tyto aplikace poskytují možnosti, které jdou daleko za pouhé čtení a brouzdání po webu, ale stále mohou být poskytovány pomocí internetu. Nazývají se Rich Internet Applications.
Charakteristiky RIA
RIA se odlišují od tradičních webových aplikací v mnoha klíčových bodech.
Přímá interakce: V tradičních webových aplikacích je interakce s uživatelem omezena na několik základních ovládacích prvků: checkboxy, radio buttony a formulářová pole. To často znemožňuje tvorbu použitelných a užitečných aplikací. RIA mohou využívat bohatší spektrum ovládacích prvků, které umožňují vyšší efektivitu a lepší komfort pro uživatele. V RIA mohou například uživatelé přímo editovat prvky stránky nebo je měnit pomocí drag-and-drop nástrojů. Také mohou provádět operace jako postupné procházení mapy nebo jiného obrázku.
Obnovování části stránky: Standardní HTML stránky jsou staženy najednou. Pokud změníte něco na stránce, musíte odeslat změnu zpět na server, který provede úpravy a pošle vám celou stránku. Neexistuje jiná cesta, jak toto řešit pomocí HTTP a HTML. Tradiční webové aplikace nutí uživatele čekat (kvůli potížím s připojením k síti, omezením výpočetního výkonu a jiným problémům), dokud se neaktualizuje celá stránka. I s širokopásmovým připojením může být doba čekání příliš dlouhá a nepříjemná.
Ale RIA obsahují doplňkové technologie, jako real-time streamování, vysoce výkonné virtuální stroje běžící na straně klienta, a lokální cacheovací mechanismy, které dokáží snížit latenci (dobu čekání) a zvýšit rychlost odpovědi. Množství komerčních vývojových nástrojů (viz dole) umožňuje obnovení pouze části stránky.
Lepší zpětná vazba: Díky schopnosti měnit části stránky bez reloadu mohou RIA uživateli poskytovat rychlejší a přesnější zpětnou vazbu, real-time potvrzení akcí a voleb a také detailní informační a chybové zprávy.
Soulad vzhledu a prostředí: Díky RIA lze mnohem efektivněji ovládat uživatelské rozhraní u různých prohlížečů a operačních systémů.
Offline provoz: Pokud dojde k výpadku připojení k internetu, může být stále možné využívat aplikace RIA, pokud jsou navrženy tak, aby ukládaly svůj stav u klienta. (Vývoj webových standardů to také umožňuje pro některé tradiční webové aplikace.)
Vliv na výkon: V závislosti na aplikaci a síťovém připojení mohou být RIA aplikace výkonější než klasické. Zjednodušeně řečeno, pokud se aplikace dokáže vyhnout neustálému posílání požadavků na server tím, že je bude zpracovávat na straně klienta, bude znatelně rychlejší. Zpracovávání na straně klienta také zmenší zatížení serveru. Problémy mohou nastat u malých a mobilních přístrojů, které jsou stále běžnější, protože ty nemusí mít dostatek zdrojů pro používání těchto aplikací.
Nástroje pro vytváření RIA
Seznam technologií použitelných pro vytváření RIA aplikací je dlouhý. Zde jsou vyjmenovány pouze některé z nich:
- AJAX
- Adobe Flash, Flex a Adobe Integrated Runtime
- Microsoft Silverlight
- JavaFX
- Curl
- Google Gears
- OpenLaszlo and Webtop
- Oracle WebCenter