Flexibles Flex Framework für furioses PHP

Einsatz und Integration von Adobe Flex in PHP-Projekte
Kommentare

Es gibt viele Technologien auf dem Markt, die Entwickler heute unterstützen, um reichhaltige Benutzeroberflächen für Web- oder Desktopanwendungen zu erstellen. Das Anwendungs-Framework Flex von Adobe ist eines davon. Flex-basierte Anwendungen werden im Flash Player von Adobe, aktuell in der Version 9 verfügbar, ausgeführt. Dieser Artikel soll einen ersten Einstieg in die Technologie Flex und einen Überblick über die Vielzahl von Möglichkeiten und Vorgehensweisen, die bei der Erstellung von reichhaltigen Anwendungsoberflächen mit dem Flex Framework zum Einsatz kommen, geben.

In den letzten Jahren habe ich eine Vielzahl von Vorträgen und Seminaren durchgeführt und versuche immer wieder den Einstieg in die Entwicklung von Rich-Internt-Anwendungen mit Flex so einfach wie möglich zu gestalten. Die Basis für alles bilden in Flex MXML und AS3 (ActionScript 3.0).

MXML zur Beschreibung des Layouts

Hinweis

Alle hier angesprochenen Listings haben wir Ihnen zum bequemen Download als ZIP-Archiv zusammengestellt. Zum Herunterladen klicken Sie einfach hier (.zip, 4 kb).

MXML ist eine deklarative Markup-Sprache zur Beschreibung der Benutzeroberfläche. Im Gegensatz zu HTML bietet MXML jedoch Abstraktionen für die Logik der Präsentationsschicht und die Verknüpfungen der Benutzeroberfläche und den serverseitigen Daten. MXML gewährleistet durch diese Trennung von Präsentationsschicht und Businesslogik eine hohe Wiederverwendbarkeit der Anwendungen sowie ihrer Teile. Das Framework kommt mit einer grossen Anzahl sofort einsetzbarer Komponenten, die in der Flex-Klassenbibliothek abgelegt sind. Hierbei werden zwei Hauptkategorien von Komponenten unterschieden. Zum einen die sichtbaren Tags wie DataGrid, ComboBox oder Button, zum anderen die nicht sichtbaren Tags wie Webservice-Konnektoren, DataBindings oder Animationseffekte.

Ich werde später im Artikel klassische Komponenten und den Umgang mit diesen näher beschreiben.

Business- und Prozesslogik in ActionScript 3

Jede Form der Beschreibung von Businesslogik in einer Flex-Anwendung wird über ActionScript 3.0 (AS3) beschrieben. AS3 ist eine typisierte und objektorientierte Programmiersprache und ähnelt im Kern der JavaScript-Programmiersprache. Innerhalb einer Anwendung können Flex-Entwickler unter Nutzung von AS3 zum Beispiel Ereignis-Listener und -Handler beschreiben, die Werte von Komponenteneigenschaften abrufen und festlegen oder beim Abruf von Daten Callback-Funktionen definieren, die dann Ergebnisse verarbeiten und an die entsprechenden Komponenten weiterleiten.

MXML + AS3 = SWF

Doch wie fügen sich MXML und AS3 zu einer Anwendungsoberfläche zusammen? Diesen Vorgang übernimmt ein Compiler. Er wandelt zuerst alle MXML-Formate in AS3-Klassen, ergänzt diese mit der entwickelten AS3-Businesslogik und erzeugt hieraus eine klassische SWF-Datei, die auf herkömmlichem Wege in eine Internetseite mit einem richtig konfigurierten -Tag eingebunden werden kann. Interessant hierbei ist< der erste Schritt der Umwandlung von MXML in AS3-Code. Hier wird klar, dass alle MXML-Tags aus dem Framework eine oder mehrere im Hintergrund bereitgestellte AS3-Klasse(n) beschreiben. So ist ein -MXML-Tag im Anwendungslayout nichts Anderes als eine Instanziierung einer AS3-Klasse namens Button.as. Daraus beantwortet sich auch die Frage, ob ich das Framework auch ohne den Einsatz von MXML, also nur mit AS3-Quellcode, nutzen kann.

Ruft nun ein Anwender eine Website mit einer integrierten Flex-Anwendung auf, so wird ihm die SWF-Datei, die alle Beschreibungen der UI und Businesslogik enthält, in der Flash Player Virtual Machine (Plug-in) des Browsers gerendert. Hierbei muss auf Grund des Einsatzes von AS3 als Minimum ein aktueller Player in der Version 9.x auf dem Client installiert sein. Adobe stellt diese kostenlos zum Download für die Betriebssysteme Windows, Mac OS X und Linux zur Verfügung.

Abb. 1: So funktioniert Flex
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -