RIA Rich Internet Application



Hasonló dokumentumok
RIA Rich Internet Application

RIA Rich Internet Application. Komplex felhasználói felülettel rendelkező web-alkalmazások

Flex: csak rugalmasan!

Web-fejlesztés NGM_IN002_1

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Bevezetés Működési elv AJAX keretrendszerek AJAX

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Google Web Toolkit. Elek Márton. Drótposta kft.

MVC. Model View Controller

Kiknek szól ez a könyv? Miről szól a könyv? Hogyan épül fel a könyv? Mire van szükség a könyv használatához? Szokások Forráskód Hibajegyzék

JAVA webes alkalmazások

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

10. évfolyam 105 óra azonosító számú Hálózatok, programozás és adatbázis-kezelés 105 óra Adatbázis- és szoftverfejlesztés gyakorlat tantárgy

Cross platform játékmotor + szerkesztő Támogatott platformok

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

Book Template Title. Author Last Name, Author First Name

!!" KÉSZÍTK: ERDÉLYI LAJOS KOLLÁR NÁNDOR WD6OGW BUK8Y7

JAVA PROGRAMOZÁS 3.ELŐADÁS

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

Webszolgáltatások (WS)

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Adattárház automatizálási tapasztalatok a Generali Biztosítóban

Bánsághi Anna

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Eddig még nem használt vezérlőket is megismerünk: PlaceHolder, RadioButtonList.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Összefüggő szakmai gyakorlat témakörei évfolyam. 9. évfolyam

Összefüggő szakmai gyakorlat témakörei. 13 évfolyam. Információtechnológiai gyakorlat 50 óra

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Grafikus felületek készítése 1.

SZABADKAI MŰSZAKI SZAKFŐISKOLA. E-mobil prezentáció dokumentációja SZABADKA, 2015.

Ajax és Echo 2. Bokor Attila

Informatikus, Webfejlesztő. Nagy Gusztáv

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István Viczián István

SZAKKÉPZÉSI KERETTANTERV a(z) MOBILALKALMAZÁS FEJLESZTŐ SZAKKÉPESÍTÉS-RÁÉPÜLÉSHEZ

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

A SZOFTVERTECHNOLÓGIA ALAPJAI

AJAX AJAX. AJAX: Asynchronous JavaScript and XML. az alábbi technológiákon alapul: AJAX-ot támogató keretrendszerek

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

eseményvezérelt megoldások Vizuális programozás 5. előadás

Broadcast Service Widget

12.óra jquery Framework #1. Gyimesi Ákos

Osztott alkalmazások fejlesztési technológiái Áttekintés

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

Bánsághi Anna

Összesítés. Látogatások száma Oldalak Találatok Adatmennyiség (11.08 Oldalak/Látogatás)

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

AJAX-ot támogató keretrendszerek

ASP.NET 2.0 (Whidbey)

Osztály és objektum fogalma

Adatbázis-elérés: dbexpress, helyi adatok és egyéb lehetõségek A dbexpress könyvtár A Borland Database Engine...

Web programoz as

Mobil Informatikai Rendszerek

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Fehér Krisztián. Navigációs szoftverek fejlesztése Androidra

A WEB programozása - JSP1 dr.gál Tibor őszi félév

Web programozás. Internet vs. web. Internet: Az Internet nyújtotta néhány alapszolgáltatás:

PANNON EGYETEM Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Java programozási nyelv 6. rész Java a gyakorlatban

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Komponens modellek. 3. Előadás (első fele)

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza Zsemlye Tamás

SZAKDOLGOZAT. Titkó Szabolcs. Debrecen 2009.

Objektumorientált programozás C# nyelven

C# osztályok. Krizsán Zoltán

Közösség, projektek, IDE

Mobil Informatikai Rendszerek

Térinformatikai adatbázis web felületen társadalmasítási célokra

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Programozási nyelvek Java

AJAX Framework építés. Nagy Attila Gábor Wildom Kft.

Szolgáltatás Orientált Architektúra és több felhasználós adatbázis használata OKF keretein belül. Beke Dániel

Java és web programozás

Mikor? Milyen alkalmazásnál?

libgdx alapok, első alkalmazás

Java I. A Java programozási nyelv

Az Apache Wicket keretrendszer

Objektumorientált programozás C# nyelven

Webszolgáltatások kommunikációs overhead-jének becslése

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

BI modul a lízing üzletágban márc. 21. Előadó: Salamon András

Autodesk térképészeti és térinformatikai megoldásai az Önkormányzatok és Kistérségek számára

Web-fejlesztés NGM_IN002_1

Előzmények

Az image objektum. Az image eseménykezel i. Képek el zetes betöltése. Feladat. Váltóképek készítése

A Jáva programozási nyelv rejtelmei

Átírás:

Áttekintés RIA Rich Internet Application Komplex felhasználói felülettel rendelkező web-alkalmazások Bevezető Flex áttekintés ActionScript Felhasználói felület tervezése Események Szerver oldali szolgáltatásokkal való kommunikáció 1 / 22 2 / 22 RIA Rich Internet Application web alkalmazás vs. desktop alkalmazás előnyök: web alkalmazás központilag karbantartható desktop alkalmazás felhasználóbarát felület a felhasználók mindkettő előnyét szeretnék kihasználni desktop alkalmazás használatához hasonló élmény nyújtására való törekvés: alkalmazás-logika egy részének kliens oldalra való költöztetése (JavaScript keretrendszerek segítségével)... böngészőfüggőség RIA platformfüggetlenség RIA általános jellemzők Web 1.0 (RIA-t megelőző alkalmazások): hiperszövegen alapuló alkalmazás HTML, JavaScript, CSS Web 2.0: vizuális elemek dominálnak általában böngésző plug-in szükséges aszinkron kommunikáció a szerverrel az alkalmazás jelentős része a kliens gépen fut (csökkentett hálózati forgalom) komplex desktop alkalmazáshoz hasonló biztonsági korlátozások (korlátozott hozzáférés a kliens géphez) nem használhatók a böngészők vezérlőgombjai nem indexelhető keresőmotrok által 3 / 22 4 / 22

Flex keretrendszer - RIA developement toolkit RIA fejlesztő eszközök Flex (Adobe) Silverlight (Microsoft) JavaFX (Sun Microsystems Oracle)... AJAX Flex keretrendszer gazdag függvénykönyvtárat, komponenseket bocsát rendelkezésre az alábbi nyelvekre alapoz: ActionScript ECMA szabványnak megfelelő szkript-nyelv MXML XML alapú deklaratív nyelv (ActionScript-té fordul) az alkalmazás telepíthető: web alkalmazásként (Flash Player - plug-in használata) desktop alkalmazásként (Adobe Integrated Runtimer -AIRhasználata) 5 / 22 6 / 22 Fejlesztéshez szükséges eszközök Flex keretrendszer nyílt forráskódú Flex SDK (fordító, debugger) ingyenes.swf tetszőleges (ingyenes) szerkesztő vagy Flash Builder 4 fejlesztői környezet (Eclipse plug-in) kereskedelmi (korábbi neve: Flex Builder) Flash Player (böngésző plug-in) Flash vs. Flex Flash inkább animáció létrehozására (idővonal, rétegek, keretek) Flex adatfeldolgozás A szerverrel való kommunikáció egy SWF-ből 7 / 22 8 / 22

ActionScript + MXML ActionScript (3.0) MXML tipikusan a felhasználói felület megadására ActionScript alkalmazás-logika implementálására xmlns:s="library://ns.adobe.com/flex/spark" <fx:script source="myfunctions.as"/> <![CDATA[ // ActionScript kód: import mx.controls.alert; <s:button label="klikk" click="alert.show( Proba )"/> ECMAScript szabványnak megfelelő (JavaScript-hez hasonlóan), objektumorientált script nyelv Pontos adattípus meghatározást használ (strict data typing) var myvar:string="bla"; statikus (fordításidejű) illetve dinamikus (futásidejű) típusellenőrzés a változók mind objektumok (Flex 4) változó típusok (top-level package): stb. egyszerű: int, uint, Number, String, Boolean, null, void összetett: Object, Array, Date, Error, Function, RegExp, XML, XMLList 9 / 22 10 / 22 Szintaxis nyelvi elemek (JavaScript-hez hasonló): lásd ActionScript 3.0 referencia Statements, Keywords & Directives (itt) tömb, objektum esetén az értékadás történhet JSON-hoz hasonló szintaxissal függvénydeklaráció: function funcname([param0, param1,...paramn]) : rettype{ // kód Adatkapcsolás (binding) implementálása (a háttérben) az eseménykezelő rendszer segítségével történik Binding pl. xmlns:s="library://ns.adobe.com/flex/spark"> <![CDATA[ [Bindable] public var s:string=""; <s:textinput id="text1"/> <s:button label="update" click="s=text1.text" x="130" /> <s:label x="0" y="30" text="{s" /> A kód eredménye: 11 / 22 12 / 22

Osztályok/objektumok Felhasználói felület tervezése tipikusan MXML segítségével történik lehetőségek: osztály deklarálása (class kulcsszó) mezők, metódusok hatóköre: public, protected, private, internal, static osztály hozzáférés módosító: public, internal, (dynamic, final) (egyszeres) öröklődés absztrakt osztály interfész komponens készletek: Halo (MX) régebbi (Flex 3) Spark újabb (Flex 4) komponensek elrendezése a konténeren belül (Spark) Layouts BasicLayout (absolute layout), HorizontalLayout, VerticalLayout, TileLayout Konténerek: Spark: Application, Group, SkinnableContainer, Panel, DataGroup, SkinnableDataContainer MX (Spark megfelelő nélkül): Form, Grid 13 / 22 14 / 22 kontrol-ok: egyszerű form-kontrolok rich text editor, csúszka, számláló, dátum-kiválasztó, színkiválasztó adatvezérelt kontrolok (dataprovider objektum segítségével megadott tartalom) listák, rácsok, faszerkezet navigációs komponensek (menü, menüsor, gombsor, fülek (TabNavigator), nézetverem (ViewStack), harmonika (Accordion)) diagramkészítés előugró ablakok (pop-up windows): PopUpManager osztály segítségével különböző konténerek szolgálhatnak alapul Adathelyesség ellenőrzése, adatformázás Adathelyesség ellenőrzők: StringValidator, NumberValidator, DateValidator, EmailValidator, RegExpValidator, stb. Adatformázók: NumberFormatter, DateFormatter, stb. Állapotok (States) egy RIA felhasználói felülete több nézetből állhat egy nézetnek különböző állapotai lehetnek drag-and-drop lehetőség (DragManager osztály) 15 / 22 16 / 22

Események A Flex eseményorientált keretrendszer (a különböző komponensek/osztályok eseményeken keresztül kommunikálhatnak egymással) az eseménykezelő paraméterként megkap egy ún. eseményobjektumot (információ az esemény eredetéről, újrafelhasználható kód) esemény kézbesítés folyamata ki(k)/ milyen sorrendben értesülhet(nek) az eseményről lehetőség saját eseményobjektum definiálására eseménykezelés MXML, illetve ActionScript eseménykezelő segítségével: xmlns:s="library://ns.adobe.com/flex/spark"> <![CDATA[ import mx.controls.alert; protected function onclick(event:event):void{ Alert.show(event.target.label + " clicked"); <s:button label="button 1" click="onclick(event)" /> 17 / 22 18 / 22 Pl. click esemény kezelésére ActionScript segítségével: xmlns:s="library://ns.adobe.com/flex/spark" applicationcomplete="init()"> <![CDATA[ import mx.controls.alert; protected function init():void{ button1.addeventlistener(mouseevent.click, onclick); protected function onclick(event:event):void{ Alert.show(event.target.label + " clicked"); <s:button id="button1" label="button 1" /> Szerver oldali szolgáltatásokkal való kommunikáció a Flex kommunikálhat különböző szerver oldali technológiákkal: PHP, Java, ASP.NET, ColdFusion, stb. kommunikációs protokollok: HTTP AMF (Action Message Format) bináris adatcsere AMF+PHP: Zend AMF modul AMF+Java: BlazeDS, LiveCycle Data Services SOAP/WSDL webszolgáltatással (WebService) való kommunikáció 19 / 22 20 / 22

Flex alkalmazás felépítése Hasznos hivatkozások A Flex keretrendszer MVC-elvre alapoz Mikroarchitektúra: keretrendszer, mely bizonyos tervezési mintákat alkalmaz, illetve az alkalmazás szerkezetére vonatkozó szabályok betartására ösztönöz használata hatékonyabbá teheti komplex Flex alkalmazások fejlesztését Mikroarchitektúrák Első generációs mikroarchitektúrák: PureMVC Cairngorm Második generációs mikroarchitektúrák: Swiz Mate Robotlegs Adobe Flex hivatalos oldala: www.adobe.com/products/flex/ ActionScript 3.0 Referencia: help.adobe.com/en US/FlashPlatform/reference/actionscript/3/ Dokumentáció, példák, video-tutorialok: Flex and Flash Builder Documentation www.adobe.com/devnet/flex/documentation.html Adobe Flex 4 help.adobe.com/en US/flex/using/ Flex Test Drive - Build an application in an hour www.adobe.com/devnet/flex/testdrive.html Flex in a Week video training www.adobe.com/devnet/flex/videotraining.html 21 / 22 22 / 22