: Simon Widjaja
: Adobe Flex 4
: Carl Hanser Fachbuchverlag
: 9783446424470
: 1
: CHF 28.30
:
: Internet
: German
: 625
: Wasserzeichen/DRM
: PC/MAC/eReader/Tablet
: PDF

Mit Flex bietet Adobe Entwicklern ein mächtiges Framework, mit dem sie anspruchsvolle Webanwendungen erstellen können. Wie sich Flex dabei effizient einsetzen lässt, zeigt dieses Buch.
Simon Widjaja führt den Flex-Anwender in seinem Buch in wesentliche Aspekte der Flex-Technologie ein. Zugleich versetzt er ihn in die Lage, die zahlreichen Anwendungsbeispiele in eigenen Projekten einzusetzen bzw. nach seinen Wünschen zu erweitern.
Die Beispiele, die auf Version 4 von Flex basieren, decken dabei die gesamte Bandbreite der Flex-Entwicklung ab: Von Projektverwaltung mit dem Adobe Flex Builderüber die Erstellung von User Interfaces bis hin zur Datenbankanbindung via XML behandelt das Buch sämtliche Aspekte des Web Development mit Adobe Flex. Dies schließt auch das Zusammenspiel von Flex und PHP bzw. Java ein sowie Adobe AIR, die Runtime-Umgebung von Adobe, mit deren Hilfe Flex-Anwendungen offline für den Desktop erstellt werden.
Heraus kommt ein Leitfaden, der angehenden Flexern eine wirklich umfassende und vor allem praxisnahe Einführung in die Entwicklung von Webanwendungen mit Adobes Framework bietet.

8 Anpassen der Benutzeroberfläche (S. 165-166)

8.1 Einleitung

Der Flash Builder bietet zahlreiche Möglichkeiten, mit relativ wenig Zeitaufwand selbst komplexe Anwendungen umzusetzen. Besonders die Vielzahl an vorhandenen Komponenten, die das Flex-Framework zu einem großen Teil ausmachen, trägt dazu bei, dass viele wiederkehrende Problemstellungen einfach gelöst werden können. So tragen die User Interface Komponenten und die Layout-Container dazu bei, dass der Entwickler mit wenig Aufwand den Funktionsumfang der Bedienelemente nutzen und das Layout gestalten kann, ohne die eigentliche Funktionalität der einzelnen Komponenten selbst entwickeln zu müssen. Der Einsatz eben dieser Komponenten stellt den Entwickler jedoch recht schnell vor ein neues Problem: Das visuelle Erscheinungsbild (Look and Feel) der entstehenden Anwendungen ist sehrähnlich. Das einheitliche und aufeinander abgestimmte Erscheinungsbild der vorhandenen Komponenten ist zwar durchaus ansprechend und reicht für manche Anwendungen bereits aus, wenn es jedoch darum geht, individuelle Kundenwünsche umzusetzen, steht man als Entwickler früher oder später vor der Frage:

Wie passe ich das Erscheinungsbild der verwendeten Bausteine an, sodass die Anwendung den Kundenansprüchen gerecht wird, jedoch ohne einzelne Bausteine grundlegend neu zu entwickeln?

Wie Sie wahrscheinlich bereits vermutet haben, gibt das Flex-Framework auch in dieser Hinsicht dem Entwickler verschiedene Möglichkeiten und Werkzeuge an die Hand, die es ermöglichen, das gesamte Erscheinungsbild einer Anwendung an seine individuellen Ansprüche anzupassen. In diesem und dem nächsten Kapitel zeige ich Ihnen, wie Sie mit relativ wenig Aufwand durch den gezielten Einsatz von Styles und Skins Ihrer Anwendung ein individuelles Aussehen verpassen können. Dabei werden Sie neben dem Einsatz von CSS kennenlernen, wie Sie eigene Fonts einbetten, wie Sie durch das Scale9-Verfahren Grafiken für das Skinning aufbereiten und dass das Aussehen von Komponenten auch ohne den Einsatz von Grafiken programmiert werden kann. Im Rahmen von CSS hat sich im Vergleich zu Flex 3 einiges verändert. So ist aufgrund der neuen Spark-Komponenten und der Möglichkeit, die bisherigen Halo-Komponenten gleichermaßen verwenden zu können, die Notwendigkeit entstanden, diese Unterscheidung auch in CSS sichtbar zu machen. Hierzu wurden Namespaces und neue Selektoren eingeführt.


8.2 Styles

Die Eigenschaften bzw. Attribute zum Verändern des visuellen Erscheinungsbildes von Komponenten in Flex nennt man Styles. Mithilfe dieser Styles lassen sich einzelne Komponenten oder ganze Komponentengruppen innerhalb der Anwendung anpassen. So lassen sich bspw. die Hintergrundfarbe der Anwendung, die Schriftart sämtlicher Schaltflächen oder die Highlight-Colors einer ganz bestimmten Listeüber Styles verändern. Einige Style-Eigenschaften werden dabei automatisch an untergeordnete Kindelemente vererbt. Außerdem können Style-Definitionen in CSS-Klassen zusammengefasst werden, die ebenfalls voneinander erben können. Wie Sie das realisieren und welche Regeln bei der Vererbung von Style-Definitionen gelten, erfahren Sie auf den folgenden Seiten.

Inhalt6
Vorwort14
1 Einstieg in Flex 4.020
1.1 Next Generation Internet20
1.1.1 Die Flash Platform21
1.1.2 Die Protagonisten21
1.2 Die Bestandteile von Flex 422
1.3 Entwicklung und Aufbau einer Flex-Anwendung24
1.4 Flex für den Desktop: Adobe AIR25
2 Die Entwicklungsumgebung:Flash Builder 426
2.1 Die verschiedenen Projektarten30
2.2 Ein neues Projekt anlegen und ausführen30
3 MXML32
3.1 Struktur und Syntax32
3.1.1 MXML-Grundgerüst und Zeichenkodierung33
3.1.2 Kommentare in MXML34
3.1.3 Platzieren von Komponenten36
3.1.4 MXML-Dateinamen36
3.1.5 Aufbau von MXML-Dokumenten37
4 ActionScript42
4.1 Einführung42
4.1.1 Über ActionScript42
4.1.2 ActionScript im Umfeld von Flex44
4.1.3 Spuren legen mit trace()45
4.1.4 Kommentare in ActionScript46
4.2 Einsatz von ActionScript47
4.2.1 Inline: Innerhalb von MXML-Tag-Attributen48
4.2.2 Nested: verschachtelt in MXML-Tags49
4.2.3 Block: MXML Script Blocks49
4.2.4 Ausgelagert: ActionScript in separater Datei51
4.2.5 Klassen: Externe Definitionsdateien53
4.3 ActionScript 3.0 im Vergleich54
4.3.1 Was gibt es Neues in ActionScript 3.054
4.4 Sprachelemente und Syntax58
4.4.1 Variablen und Datentypen58
4.4.2 Klassen, Eigenschaften und Methoden62
4.5 Interfaces programmieren64
4.6 Vergleich: ActionScript, PHP und Java68
5 Das Event-Modell von Flex70
5.1 Einführung70
5.1.1 Ereignisfluss: das Event-Modell verstehen71
5.2 Event-Handler72
5.2.1 Events in MXML abfangen72
5.2.2 Events in ActionScript abfangen75
5.2.3 Welche Events sind verfügbar?77
5.2.4 Die Event-Klasse78
5.3 Event Propagation80
5.3.1 Unterschied zwischen target und currentTarget81
5.3.2 Die addEventListener()-Methode83
5.3.3 Priorität von Events84
5.3.4 Propagation in Event-Kette stoppen85
5.4 Event-Unterklassen86
5.4.1 MouseEvent88
5.4.2 KeyboardEvent