Beruflich Dokumente
Kultur Dokumente
Agenda
Einfhrung
Flex Grundlagen
MXML
ActionScript
Flex fr Fortgeschrittene
Einfhrung
Seitenbasierte Denkweise
Eingeschrnkte User-Experience
Flex SDK
Open-Source
Enthlt vorgefertigte
Grafikkomponenten
Dokumentation
Flex Builder
Flash Player
Adobe Integrated Runtime (AIR)
Historie
Mrz 2004
Flex 1.0 entwickelt von Macromedia
Oktober 2004
Flex 1.5 verbessert die Funktionalitt
Juni 2006
Adobe verffentlicht Flex 2.0
Februar 2008
Adobe verffentlicht Flex 3.0 und AIR 1.0
MXML
XML-basierte Layoutdefinition
ActionScript
Objekt-orientierte Skriptsprache
Flex SDK
MXML
Actionscript
SWFAnwendung
Flex Klassenbibliothek
AIR
Client Runtime
Externe Klassenbiblitheken
AIR-Anwendung
8
Die Laufzeitumgebung
Die Entwicklungsumgebung
Flex Builder 3
Grafischer Oberflchendesigner
11
MXML Grundlagen
12
Deklarative Markup-Sprache
XML-basiert
Sprachelemente: Tags
MXML-Compiler: mxmlc
Dateiname:
Endung .mxml
Das MXML-Grundgerst
XML-Deklaration
Application-Knoten
Haupt-Container
14
Komponenten
Komponentenbasiertes Entwicklungsmodell
Hinzufgen:
Source-Modus: XML-Konstrukte
Vordefinierte Komponenten
Layout-Container
Controls
Navigators
Charting
Benutzerdefinierte Komponenten
15
Die Flex-Klassenhierarchie
16
Layout-Container
VBox
Beispiel fr Layout-Container
Hauptcontainer (mx:application)
Container 1 (mx:HBox)
Container 2 (mx:VBox)
18
Beispiel fr Layout-Container
19
Layout-Manager
Layout-Regeln:
Box-based Layout
Canvas-based Layout
In Canvas-basierten Containern
berlappungen mglich
20
Layout-Manager
Layout-Regeln:
Constraint-based Layout
In Canvas-basierten Containern
Im Flex Builder:
21
Controls
Alert
Rechteckige Schaltflche
DataGrid
Beispiel fr Controls
Textfeld (mx:Text)
DataGrid (mx:DataGrid)
Texteingabefeld (mx:TextInput)
Schaltflche (mx:Button)
23
Beispiel fr Controls
Komponenten Explorer
25
Benutzerdefinierte Komponenten
Erstellung:
1) Neues XML-Dokument anlegen
2) XML-Deklaration einfgen
3) Wurzel-Element: Bestehende Komponente, auf
der die benutzerdefinierte Komponente basiert
Flex Builder:
New MXML Component
Verwendung:
1) Definieren eines XML-Namensraums
2) Instanziierung ber den Namensraum
(analog zu einer vordefinierten Komponente)
Flex Builder:
Components Custom
Drag&Drop
26
Erstellung MyComponent.mxml
27
28
States
Benutzerinteraktion
States
30
States
Beispiel
31
ActionScript Grundlagen
32
ActionScript Syntax
Package
package hdm { }
Variablen
var myString:String = "Hallo Welt!"
Class
public class TextClass
{
public function TextClass() { }
}
Function
private function add(a:int, b:int):int { }
34
ActionScript Syntax
Kommentare
// Ein Kommentar
/*
Noch ein Kommentar
*/
Vererbung
public class MyTestClass extends TestClass { }
Casting
var o:Object;
var t:MyTestClass = MyTestClass(o);
var t2:MyTestClass = o as MyTestClass;
35
Inline-Definition
<mx:Script>
<![CDATA[
// Actionscript Code
]]>
</mx:Script>
Import
<mx:Script source="myCode.as"/>
36
[Bindable]
37
Events
38
Inline
<mx:Label id="myLabel" text="Hallo Welt!"/>
<mx:Button id="myButton"
click="myLabel.text = 'Auf Wiedersehen!'"/>
Im Actionscript-Code
<mx:Script>
<![CDATA[
public function test():void {
myButton.addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(e:MouseEvent):void {
myLabel.text = "Auf Wiedersehen!";
}
]]>
</mx:Script>
Event
+ target
+ type
+ currentTarget
+ eventPhase
+ cancelable
+ bubbles
Beispiel fr Events
Komponentenevents
Initialized, CreationComplete
Hide, Show, Add, Added, Remove, Removed
Interaktionsevents
Event Propagation
42
Ziele:
Einfachheit
Konsistenz
Vertrautheit
43
E4X
44
Zugriff mittels der Operatoren Punkt (.), Punkt-Punkt (..) und At (@)
myXML.person // Ausgabe: alle Personen
myXML.person.name // Ausgabe: Namen aller Personen
myXML.person.@kdnr // Ausgabe: Kundennummer aller Personen
myXML..name // Ausgabe: Alle Name-Elemente
45
Flex fr Fortgeschrittene
46
Behaviours
Effect
MaskEffect
Iris
WipeLeft
TweenEffect
Rotate
Blur
CompositeEffect
Parallel
Sequence
Beispiele
47
Transitionen
Die Attribute der Effekte werden aus den Daten der targets
gefllt
48
Drag&Drop
Beispiel
Navigation
ViewStack
1">
1"/>
Beispiel
2">
2"/>
TabNavigator
Beispiel
Accordion
Beispiel
50
Beispiel
51
Flex-Styles
Inline
<mx:Label text="Hallo Welt" fontWeight="bold"/>
ber <mx:Style>-Element
<mx:Style>
.customLabel{font-weight:bold;}
</mx:Style>
<mx:Label text="Hallo Welt" styleName="customLabel"/>
Externe CSS-Datei
<mx:Style source="css/stylesheet.css"/>
52
Flex-Skins
Graphical Skins
Programmatic Skins
Stateful Skins
Beispiel
53
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="spielerData.send()">
<mx:HTTPService id="spielerData" url="data/data.xml"/>
<mx:DataGrid
dataProvider="{spielerData.lastResult.transfermarkt.spieler}"/>
</mx:Application>
54
Flex on Rails
Weitere Informationen:
Armstrong, Peter:
Flexible Rails
Flex 3 auf Rails 2
(www.flexiblerails.com)
55
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="myWS.validate()">
<mx:WebService id="myWS"
wsdl="http://localhost:8080/OrderValidatorService?wsdl"
fault="handleWSFault(event)">
<mx:operation name="validate"
result="handleWSResult(event)" fault="handleWSFault(event)">
<mx:request>
<customerID>1234567890</customerID>
<email>cs116@hdm-stuttgart.de</email>
<articleID>1234567890</articleID>
<amount>10</amount>
</mx:request>
</mx:operation>
</mx:WebService>
</mx:Application>
Remoting
Messaging Services
57
Flex Security
58
Zusammenfassung
und Ausblick
59
Architektur
Entwicklung
Entwicklungswerkzeuge
60
JavaFX 1.0
Entwicklung
JavaFX Script
Java
Entwicklungswerkzeuge
61
AJAX
Architektur
(X)HTML
Frameworks/Toolkits
62
Vorteile
Bessere User-Experience
Einfache Backendanbindung
Gute Tooluntersttzung
Nachteile
Ausblick
Design in Mind
Neue MXML-Klassen
Bessere Trennung von Design
und Entwicklung
Developer Productivity
Performanterer Compiler
Verbessertes CSS
Bidirektionale Data-Bindings
Framework Evolution
Verbesserter Videosupport
Untersttzung von Flash Player 10 Features
64
W id ja ja , S .:
Rich Internet A pplications mit A dobe Flex 3
Hanser Fachbuch Verlag, Mnchen, 1. Auflage (2008)
T a p p e r , J . e t a l..:
Adobe Flex 3: Das offizielle Trainingsbuch
Addison-Wesley Verlag, Mnchen, 1. Auflage (2008)
Brown, C. E.:
The Essential Guide to Flex 3
APress, Berkley (2008)
Lott, J. et al.:
ActionScript 3.0 Cookbook
Armstrong, P.:
Flexible Rails Flex 3 auf Rails 2
65
Knig, K.:
Flexen fr Einsteiger Grundlagen der
Programmierung mit Flex 3
Schieer, M. et al.:
Flexibler bauen Rich Clients entwickeln mit Flex 3.0
Mller, F.:
Java und Adobe Flex Professionelle Rich-ClientApplikationen mit Java und Adobe Flex erstellen
66
67
68