Gazdag Internetes Alkalmazások



A Sensce Design az élmezőnyben áll a gazdag internet Web 2.0 alkalmazások RIA technológiáját használva (Macromedia Flex, AJAX PHP-vel és Ruby on Rails keretrendszer, Macromedia flash/FLEX és XML AJAX).


RIA, azaz hajrá, mindenki fejlesszen Gazdag Internetes Alkalmazást!

OK, de mit is értük ez alatt?

 

Amiről a RIA szól, az valójában nem más, mint hogy építsünk olyan alkalmazásokat, amik a lehető legjobban kihasználják a kliens környezet (browser) adottságait, lokálisan tárolnak adatokat és élő, lehetőség szerint üzenet alapú asszinkron kapcsolatot tartanak fent egy alkalmazás szerverrel (pl. WCF endpoint).

 

 

Gazdag internetes alkalmazások (Rich Internet Applications - RIA)

 

Ajax Ajax


Az Ajax (Asynchronous JavaScript and XML) interaktív webalkalmazások létrehozására szolgáló webfejlesztési technika. A weblap kis mennyiségű adatot cserél a szerverrel a háttérben, így a lapot nem kell újratölteni minden egyes alkalommal, amikor a felhasználó módosít valamit. Ez növeli a honlap interaktivitását, sebességét és használhatóságát.

Az Ajax a következő technikák kombinációja:

  • XHTML (vagy HTML) és CSS a tartalom leírására és formázására.
  • DOM kliens oldali script nyelvekkel kezelve a dinamikus megjelenítés és a már megjelenített információ együttműködésének kialakítására.
  • XMLHttpRequest objektum az adatok aszinkron kezelésére a kliens és a webszerver között. Néhány Ajax keretrendszer esetén és bizonyos helyzetekben IFrame-et használnak XMLHttpRequest objektum helyett.
  • XML formátumot használnak legtöbbször az adattovábbításra a kliens és a szerver között, bár más formátumok is megfelelnek a célnak, mint a formázott HTML vagy a sima szöveg.

Mint a DHTML, a LAMP vagy az SPA, az Ajax sem egy technológia önmagában, hanem egy kifejezés közösen használt technológiákra.

 

Dojo


Dojo egy keretrendszer, melynek szolgáltatáskészlete messze túlnyúlik az egyszerű JavaScript kódolást támogató megoldásokon, amilyeneket például a Prototype kínál. Bőséges számban kínál szinte JavaScript programozás nélkül bevethető felületi elemeket, build eszközöket, tesztelési keretrendszert, és még számos hasznos egységet.

 

Flex


A Flex egy termelékeny, ingyenes, nyílt forráskódú keretrendszer, amely kifejezőképes internetes alkalmazások fejlesztésére szolgál. Az alkalmazás kiszámíthatóan egyforma eredményt ad az egyes internetböngészőkben és az asztalon futtatva a különféle operációs rendszerek alatt, hiszen működése az Adobe® Flash® Player és az Adobe AIR® futtatásán alapul.

 

Silverlight


A Microsoft Silverlight egy multimédiás interaktív web alkalmazás, széleskörű felhasználási lehetőségekkel, korábban Windows Presentation Foundation/Everywhere néven említették. A fejlesztés több mint két évig tartott, mely eredményeként megszülető szoftvercsalád a Microsoft reményei szerint fel fogja venni a versenyt az Adobe népszerű és igen elterjedt Flash platformjával. A platform az Internet Explorer, Firefox,Opera, Safari és Chrome (4-es verziótól kezdve) böngészőkkel működik együtt jelenleg.

 

JavaFX


A JavaFX abból a szempontból egyedülálló, hogy egységesített fejlesztési és telepítési modellt kínál kifejezésteli, gazdag internetes alkalmazások (RIA) asztali számítógépen, böngészőn és mobilon történő kiépítéséhez.

 

Ruby on Rails


A Ruby on Rails (röviden Rails) a Ruby programozási nyelvre épülő, nyílt forrású (MIT licenc alatti) webalkalmazás-keretrendszer. David Heinemeier Hansson írta 2004-ben, a Basecamp program kódjának felhasználásával. Minden információ csak egy helyen szerepel és a konvenciókat követő elnevezésekhez automatikusan kódot generál a rendszer. AJAX-támogatása miatt a web 2.0 alkalmazások egyik népszerű keretrendszere.

 

Scriptaculous


A scriptacoulous egy a prototype keretrendszerre épülő JavaScript keretrendszer, ami segíti a webfejlesztőket, hogy könnyedén adhassanak hozzá a projectjeikhez vizuális effekteket, és ajax alapú megoldásokat.

 

JavaServer Faces


A JavaServer Faces (röviden JSF) egy keretrendszer, amely a Java alapú, konkrétabban JSP alapú webes, grafikus felhasználói felületek fejlesztését könnyíti meg. A hagyományos kérés-válasz elvű webtechnológiáktól eltérően a JSF megközelítése komponens alapú. A JSF fejlesztése a Java Community Process keretében történik.

Alapesetben a JSF a JavaServer Pages technológiára támaszkodik a megjelenítést illetően, de használható például XUL-lal is.

 

ASP.NET Ajax


Az ASP.NET AJAX rendszer lehetővé teszi hatékonyabb, nagyobb fokú interaktivitást biztosító és teljes mértékben személyre szabható webes élmény létrehozását, amely a legtöbb népszerű böngészővel elérhető.

ASP.NET AJAX technológia alkalmazásának az élvonalát azok az új stílusú alkalmazások jelentik, amelyek meglévő webes alkalmazásokból „kevernek ki (mashing up)


Adobe Integrated Runtime és Google Gears


Az AIR (Adobe Integrated Runtime) segítségével olyan alkalmazások jelenhetnek meg a számítógépeken, amelyek flash animációt, PDF állományokat és weboldalakat is tartalmaznak, megjelenítésükhöz mégsincs szükség böngészőre. Az Apollóban megjelent szoftverek ugyanúgy működnek kapcsolat nélkül, az adatok akkor kerülnek ismét szinkronizálásra, ha a felhasználó csatlakozik a világhálóra. A szoftverek sokkal inkább hasonlítanak egy "hagyományos" programra, saját ikonnal rendelkeznek és ugyanúgy eltávolíthatók a gépről, mint bármely másik alkalmazás.

 

A Google Gears 3 elemből áll: egy böngészőben futó lokális webszerverből, a nyílt forrású SQLite adatbázisból, valamint olyan böngésző-kiegészítésekből, amelyek lehetővé teszik több JavaScript párhuzamos futtatását. A Google Gears segítségével a felhasználók akkor is használhatják webalkalmazásaikat, ha az internetkapcsolatuk szakadozik vagy ha például utazás közben egyáltalán nem csatlakoznak az internethez.

A nyílt forrású, bárki számára elérhető  Google Gears gyakorlatilag egy plugin a legismertebb böngészőkhöz, amely JavaScript API-k segítségével biztosítja az adatok cache-elését, valamint az webalkalmazások működéséhez szükséges erőforrások lokális tárolását.


RIA előnyök


  • Browserben futó alkalmazások
  • egyszerű installálás
  • platform függetlenség
  • biztonságos
  • gazdagabb felhasználói interakció
  • gyorsabb válaszidők
  • desktop look & feel
  • szerver terhelés csökkentése
  • kisebb hálózati forgalom

 

RIA hátrányok


  • Korlátozott erőforrás hozzáférés (homokozó)
  • Plug-in vagy JavaScript támogatás szükséges
  • Kliens oldali motor letöltési ideje
  • Láthatóság kereső gépek számára
  • Nehezebb “akadálymentesítés”