RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer {...

27
Bevezet˝ o Flex ActionScript UI tervez´ es Esem´ enyek Szerverold. Egyebek RIA – Rich Internet Application Komplex felhaszn´ al´ oi fel¨ ulettel rendelkez˝ o web-alkalmaz´ asok 1 / 27

Transcript of RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer {...

Page 1: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

RIA – Rich Internet Application

Komplex felhasznaloi felulettel rendelkezo web-alkalmazasok

1 / 27

Page 2: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Attekintes

Bevezeto

Flex – attekintes

ActionScript

Felhasznaloi felulet tervezese

Esemenyek

Szerver oldali szolgaltatasokkal valo kommunikacio

2 / 27

Page 3: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Attekintes

Bevezeto

Flex – attekintes

ActionScript

Felhasznaloi felulet tervezese

Esemenyek

Szerver oldali szolgaltatasokkal valo kommunikacio

3 / 27

Page 4: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Attekintes

Bevezeto

Flex – attekintes

ActionScript

Felhasznaloi felulet tervezese

Esemenyek

Szerver oldali szolgaltatasokkal valo kommunikacio

4 / 27

Page 5: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Attekintes

Bevezeto

Flex – attekintes

ActionScript

Felhasznaloi felulet tervezese

Esemenyek

Szerver oldali szolgaltatasokkal valo kommunikacio

5 / 27

Page 6: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Attekintes

Bevezeto

Flex – attekintes

ActionScript

Felhasznaloi felulet tervezese

Esemenyek

Szerver oldali szolgaltatasokkal valo kommunikacio

6 / 27

Page 7: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Attekintes

Bevezeto

Flex – attekintes

ActionScript

Felhasznaloi felulet tervezese

Esemenyek

Szerver oldali szolgaltatasokkal valo kommunikacio

7 / 27

Page 8: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

web alkalmazas vs. desktop alkalmazas – elonyok:

web alkalmazas – kozpontilag karbantarthato

desktop alkalmazas – felhasznalobarat felulet

a felhasznalok mindketto elonyet szeretnek kihasznalni

desktop alkalmazas hasznalatahoz hasonlo elmeny nyujtasara valotorekves:

alkalmazas-logika egy reszenek kliens oldalra valo koltoztetese(JavaScript keretrendszerek segıtsegevel) ... bongeszofuggoseg

RIA – platformfuggetlenseg

8 / 27

Page 9: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

RIA – Rich Internet Application

RIA – altalanos jellemzok

Web 1.0 (RIA-t megelozo alkalmazasok):

hiperszovegen alapulo alkalmazasHTML, JavaScript, CSS

Web 2.0:

vizualis elemek dominalnakaltalaban bongeszo plug-in szuksegesaszinkron kommunikacio a szerverrelaz alkalmazas jelentos resze a kliens gepen fut (csokkentett halozatiforgalom)komplex desktop alkalmazashoz hasonlobiztonsagi korlatozasok (korlatozott hozzaferes a kliens gephez)

nem hasznalhatok a bongeszok vezerlogombjainem indexelheto keresomotrok altal

9 / 27

Page 10: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

RIA fejleszto eszkozok

Flex (Adobe)

Silverlight (Microsoft)

JavaFX (Sun Microsystems → Oracle)

... AJAX

10 / 27

Page 11: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Flex keretrendszer - RIA developement toolkit

Flex keretrendszer

gazdag fuggvenykonyvtarat, komponenseket bocsat rendelkezesre

az alabbi nyelvekre alapoz:

ActionScript – ECMA szabvanynak megfelelo szkript-nyelvMXML – XML alapu deklaratıv nyelv (ActionScript-te fordul)

az alkalmazas telepıtheto:

web alkalmazaskent (Flash Player - plug-in hasznalata)

desktop alkalmazaskent (Adobe Integrated Runtimer -AIR-hasznalata)

11 / 27

Page 12: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Fejleszteshez szukseges eszkozok

Flex keretrendszer – nyılt forraskodu

Flex SDK (fordıto, debugger) – ingyenes→ .swf

tetszoleges (ingyenes) szerkesztovagy

Flash Builder 4 fejlesztoi kornyezet (Eclipse plug-in) – kereskedelmi(korabbi neve: Flex Builder)

Flash Player (bongeszo plug-in)

Flash vs. Flex

Flash – inkabb animacio letrehozasara (idovonal, retegek, keretek)

Flex – adatfeldolgozas

12 / 27

Page 13: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

A szerverrel valo kommunikacio egy SWF-bol

13 / 27

Page 14: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

ActionScript + MXML

MXML – tipikusan a felhasznaloi felulet megadasara

ActionScript – alkalmazas-logika implementalasara

<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

<fx:Script source="myFunctions.as"/>

<fx:Script>

<![CDATA[ // ActionScript kod:

import mx.controls.Alert;

]]>

</fx:Script>

<s:Button label="Klikk" click="Alert.show(’Proba’)"/>

</s:Application>

14 / 27

Page 15: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

ActionScript (3.0)

ECMAScript szabvanynak megfelelo (JavaScript-hez hasonloan),objektumorientalt script nyelv

Pontos adattıpus meghatarozast hasznal (strict data typing)var myVar:String="Bla";

statikus (fordıtasideju) illetve dinamikus (futasideju) tıpusellenorzes

a valtozok mind objektumok (Flex 4)

valtozo tıpusok (top-level package):

egyszeru: int, uint, Number, String, Boolean, null, void

osszetett: Object, Array, Date, Error, Function, RegExp, XML,XMLList

stb.

15 / 27

Page 16: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Szintaxis

nyelvi elemek (JavaScript-hez hasonlo): lasd ActionScript 3.0referencia → Statements, Keywords & Directives (itt)

tomb, objektum eseten az ertekadas tortenhet JSON-hoz hasonloszintaxissal

fuggvenydeklaracio:

function funcName([param0, param1, ...paramN]) : retType{// kod

}

Adatkapcsolas (binding)

implementalasa (a hatterben) az esemenykezelo rendszer segıtsegeveltortenik

16 / 27

Page 17: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Binding pl.

<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark">

<fx:Script>

<![CDATA[

[Bindable]

public var s:String="";

]]>

</fx:Script>

<s:TextInput id="text1"/>

<s:Button label="Update" click="s=text1.text" x="130" />

<s:Label x="0" y="30" text="{s}" />

</s:Application>

A kod eredmenye:

17 / 27

Page 18: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Osztalyok/objektumok

lehetosegek:

osztaly deklaralasa (class kulcsszo)

mezok, metodusok hatokore: public, protected, private, internal,static

osztaly hozzaferes modosıto: public, internal, (dynamic, final)

(egyszeres) oroklodes

absztrakt osztaly

interfesz

18 / 27

Page 19: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Felhasznaloi felulet tervezese

– tipikusan MXML segıtsegevel tortenik

komponens keszletek:

Halo (MX) – regebbi (Flex 3)

Spark – ujabb (Flex 4)

komponensek elrendezese a konteneren belul (Spark) – Layouts

BasicLayout (absolute layout), HorizontalLayout, VerticalLayout,TileLayout

Kontenerek:

Spark: Application, Group, SkinnableContainer, Panel, DataGroup,SkinnableDataContainer

MX (Spark megfelelo nelkul): Form, Grid

19 / 27

Page 20: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

kontrol-ok:

egyszeru form-kontrolok

rich text editor, csuszka, szamlalo, datum-kivalaszto, szınkivalaszto

adatvezerelt kontrolok (dataProvider objektum segıtsegevelmegadott tartalom) – listak, racsok, faszerkezet

navigacios komponensek (menu, menusor, gombsor, fulek(TabNavigator), nezetverem (ViewStack), harmonika (Accordion))

diagramkeszıtes

elougro ablakok (pop-up windows):

PopUpManager osztaly segıtsegevel

kulonbozo kontenerek szolgalhatnak alapul

drag-and-drop lehetoseg (DragManager osztaly)

20 / 27

Page 21: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Adathelyesseg ellenorzese, adatformazas

Adathelyesseg ellenorzok: StringValidator, NumberValidator,DateValidator, EmailValidator, RegExpValidator, stb.

Adatformazok: NumberFormatter, DateFormatter, stb.

Allapotok (States)

egy RIA felhasznaloi felulete tobb nezetbol allhat

egy nezetnek kulonbozo allapotai lehetnek

21 / 27

Page 22: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Esemenyek

A Flex esemenyorientalt keretrendszer(a kulonbozo komponensek/osztalyok esemenyeken keresztulkommunikalhatnak egymassal)

az esemenykezelo parameterkent megkap egy un.esemenyobjektumot(informacio az esemeny eredeterol, ujrafelhasznalhato kod)

esemeny kezbesıtes folyamata – ki(k)/ milyen sorrendbenertesulhet(nek) az esemenyrol

lehetoseg sajat esemenyobjektum definialasara

22 / 27

Page 23: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

esemenykezeles MXML, illetve ActionScript esemenykezelo segıtsegevel:

<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark">

<fx:Script>

<![CDATA[

import mx.controls.Alert;

protected function onClick(event:Event):void{Alert.show(event.target.label + " clicked");

}]]>

</fx:Script>

<s:Button label="Button 1" click="onClick(event)" />

</s:Application>

23 / 27

Page 24: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Pl. click esemeny kezelesere ActionScript segıtsegevel:

<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

applicationComplete="init()">

<fx:Script>

<![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");

}]]>

</fx:Script>

<s:Button id="button1" label="Button 1" />

</s:Application>

24 / 27

Page 25: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Szerver oldali szolgaltatasokkal valo kommunikacio

a Flex kommunikalhat kulonbozo szerver oldali technologiakkal:PHP, Java, ASP.NET, ColdFusion, stb.

kommunikacios protokollok:

HTTP

AMF (Action Message Format) – binaris adatcsere

AMF+PHP: Zend AMF modulAMF+Java: BlazeDS, LiveCycle Data Services

SOAP/WSDL – webszolgaltatassal (WebService) valo kommunikacio

25 / 27

Page 26: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Flex alkalmazas felepıtese

A Flex keretrendszer MVC-elvre alapoz

Mikroarchitektura:

keretrendszer, mely bizonyos tervezesi mintakat alkalmaz, illetve azalkalmazas szerkezetere vonatkozo szabalyok betartasara osztonoz –hasznalata hatekonyabba teheti komplex Flex alkalmazasok fejleszteset

Mikroarchitekturak

Elso generacios mikroarchitekturak:

PureMVC

Cairngorm

Masodik generacios mikroarchitekturak:

Swiz

Mate

Robotlegs26 / 27

Page 27: RIA Rich Internet Applicationlaura/webprg11-12/Foliak/12... · 2012-01-22 · Flex keretrendszer { ny lt forr ask odu Flex SDK (ford t o, debugger) { ingyenes! .swf tetsz}oleges (ingyenes)

Bevezeto Flex ActionScript UI tervezes Esemenyek Szerverold. Egyebek

Hasznos hivatkozasok

– Adobe Flex hivatalos oldala:www.adobe.com/products/flex/– ActionScript 3.0 Referencia:help.adobe.com/en US/FlashPlatform/reference/actionscript/3/

Dokumentacio, peldak, video-tutorialok:

Flex and Flash Builder Documentationwww.adobe.com/devnet/flex/documentation.html

Adobe Flex 4help.adobe.com/en US/flex/using/

Flex Test Drive - Build an application in an hourwww.adobe.com/devnet/flex/testdrive.html

Flex in a Week video trainingwww.adobe.com/devnet/flex/videotraining.html

27 / 27