Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Dieses Buch ist schon seit langer Zeit in der Mache. Wir haben vor vielen Jahren angefangen, und darüber Gedanken zu machen, als Flex 1.0 erstmalig auf dem Markt erschien. Wir erkannten, dass Flex etwas Wichtiges war, wussten aber auch, dass es an diesem Punkt noch nicht ausgereift war. Kurz darauf hörten wir aber Gerüchte über Flex 2, ein neues und verbessertes Flex. Nachdem wir mit Flex 2 gearbeitet hatten, waren wir uns sicher, dass es die Entwicklung von Anwendungen revolutionieren würde. Mit einer neuen virtuellen Maschine und neuen, modernen Metaphern ausgerüstet, war Flex 2 Lichtjahre von allem weg, was wir bisher zur Entwicklung von Rich-Internet-Anwendungen eingesetzt hatten. An diesem Punkt fingen wir ernsthaft an, darüber nachzudenken, dieses Buch zu schreiben.
Flex 2 ist ein Framework, das eine Reihe von Tools (z.B. Compilern) zum Aufbau von Rich-Internet-Anwendungen im Gepäck hat. Das Framework basiert auf der Flash Player-Technologie und nutzt die neue (sehr schnelle) virtuelle Maschine von Flash Player 9. Das bedeutet, dass Flex 2-Anwendungen die gesamte Funktionalität des Flash Players (Animation, Audio, Video, Request/Response-Netzwerkkommunikation, Datenkommunikation in Echtzeit und Vieles mehr) nutzen können. Darüber hinaus vereinfacht das Flex 2-Framework die Entwicklung von Anwendungen für die Flash-Plattform gegenüber früheren Optionen (Flash-Authoring, Flex 1.5 etc.) ganz erheblich.
Flex 2 ist riesig. Zwar ist die Lernkurve nicht sehr steil (tatsächlich ist der Einstieg in die Entwicklung von Flex 2-Anwendungen sehr einfach), aber trotzdem dauert es aufgrund der vielen Features des Frameworks recht lang, bis man sich gut mit Flex auskennt. Die offizielle Flex-Dokumentation erklärt recht gut, wie Sie etwas machen können, wenn Sie wissen, wonach Sie suchen. Wir haben es uns daher zum Ziel gesetzt, Ihnen ein Buch zu liefern, das die Lücken füllt und Ihnen dabei hilft, mit Flex so weit vertraut zu werden, dass Sie wissen, wonach Sie suchen müssen. Wir wollen Sie in diesem Buch mit praktischen Ratschlägen versorgen, die wir durch unseren eigenen Umgang mit Flex und durch die langjährige Erfahrung mit dem Aufbau von Rich-Internet-Anwendungen auf Basis von Flash-Technologien gewonnen haben.
Wir glauben, dass Flex 2 ein fantastisches Produkt ist und eine hervorragende Möglichkeit der Anwendungsentwicklung darstellt. Obwohl dies ein technisches Buch ist, spiegelt es doch unseren Enthusiasmus wider, und wir hoffen, dass Sie diesen Enthusiasmus mit uns teilen, während Sie dieses Buch lesen. Wir glauben, dass Flex 2 weitaus bessere Möglichkeiten bietet, Rich-Internet-Anwendungen zu entwickeln, als die momentan auf dem Markt verfügbaren Alternativen, und wir glauben, dass Sie uns in diesem Punkt zustimmen werden, wenn Sie das Buch gelesen und gesehen haben, wie man mit Flex arbeitet. Mit Flex haben Sie (wenn überhaupt) nur wenige Probleme mit der Cross-Browser-Kompatibilität, die Datenkommunikation im Netzwerk ist ein Klacks, und das Framework selbst wurde basierend auf robusten objektorientierten Prinzipien und Standards aufgebaut. Kurz gesagt glauben wir, dass es in kürzester Zeit möglich ist, mit Flex die coolsten und stabilsten Anwendungen zu entwickeln.
Dieses Buch richtet sich an jeden, der mehr über Flex 2 erfahren möchte. Uns ist klar, dass die Leserschaft dieses Buchs eine sehr heterogene Gruppe von Menschen mit sehr unterschiedlichem Hintergrund darstellt. Einige Leser verfügen über jahrelange Erfahrung bei der Arbeit mit Flash-Technologien, für andere wird es völliges Neuland sein, Inhalte für den Flash Player zu entwickeln. Einige Leser werden einen Abschluss in Informatik besitzen oder seit Jahren in der Softwareindustrie arbeiten. Wieder andere Leser werden Autodidakten sein. Wir haben unser Bestes getan, um ein Buch zu schreiben, das diesen verschiedenen Gruppen gerecht wird.
Um allerdings das Beste aus diesem Buch herauszuholen, sollten Sie objektorientierte Prinzipien verstehen, und Sie sollten mit Konzepten wie Laufzeitumgebungen, Bytecode und Compilern vertraut sein. Darüber hinaus werden Sie noch mehr aus diesem Buch herausholen können, wenn Sie bereits mit ActionScript, Java, C, C# oder anderen Sprachen mit ähnlicher Syntax vertraut sind. Zwar widmet sich ein Kapitel den Grundlagen von ActionScript (der von Flex-Anwendungen genutzten Programmiersprache), aber wir gehen nicht im Detail auf die Kern-APIs ein. Wenn Sie mehr über die Sprache ActionScript erfahren wollen, empfehlen wir Ihnen, sich ein gutes ActionScript 3.0-Buch zu suchen.
Wir haben sehr viel Zeit mit der Organisation und Reorganisation dieses Buchs verbracht. Zwar gibt es sicher keine Möglichkeit, den Inhalt so zu präsentieren, dass er allen Lesern zusagt, aber wir haben unser Bestes getan, um ihn in einer Reihenfolge zu präsentieren, die uns sinnvoll erschien.
Kapitel 1, Einführung in Flex
Was ist Flex? Was sind Rich-Internet-Anwendungen (RIAs)? Dieses Kapitel beantwortet diese Fragen und schafft so einen Rahmen für den Rest des Buchs.
Kapitel 2, Anwendungen mit dem Flex-Framework entwickeln
In diesem Kapitel betrachten wir die verschiedenen Elemente und Schritte, die zum Aufbau einer Flex-Anwendung notwendig sind. Die Themen umfassen unter anderem Compiler, den Aufbau von Skripten, Flash Player-Sicherheit und den Einsatz von Anwendungen.
Kapitel 3, MXML
MXML ist die von Flex verwendete Auszeichnungsprache. In diesem Kapitel lernen Sie die Grundlagen von MXML kennen.
Kapitel 4, ActionScript
ActionScript ist die von Flex verwendete objektorientierte Programmiersprache. In diesem Kapitel lernen Sie die Grundlagen von ActionScript 3.0 kennen.
Kapitel 5, Grundlagen des Frameworks
Flex vereinfacht viele Aspekte der Anwendungsentwicklung deutlich. Zwar werden Sie nicht oft hinter die Kulissen blicken müssen, dennoch ist es nützlich, wenn man die grundlegende Funktionsweise des Frameworks versteht. In diesem Kapitel erfahren Sie unter anderem etwas über den Lebenszyklus von Flex-Anwendungen und das Bootstrapping.
Kapitel 6, Layouts verwalten
Flex stellt viele Layoutcontainer zur Verfügung, die es Ihnen erlauben, innerhalb Ihrer Anwendung schnell und einfach alle Arten von Layouts zu erzeugen. Dieses Kapitel erläutert, wie diese Container funktionieren.
Kapitel 7, Mit UI-Komponenten arbeiten
In diesem Kapitel lernen Sie die Komponenten der Benutzerschnittstelle (also Buttons, Listen, Menüs etc.) kennen, die Teil des Flex-Frameworks sind.
Kapitel 8, Framework-Utilities und fortgeschrittene Komponentenkonzepte
Sobald Sie die Grundlagen der Arbeit mit Komponenten kennengelernt haben, werden Sie sehr wahrscheinlich erfahren wollen, wie Sie dieses Wissen erweitern können. In diesem Kapitel erfahren Sie unter anderem etwas über solche Dinge wie Tooltipps, die Anpassung von Listen und Pop-up-Fenster.
Kapitel 9, Mit Medien arbeiten
Flex erlaubt Ihnen die Einbindung aller Arten von Medien (von Bildern über Animationen bis hin zu Audiodaten) in Ihre Anwendung. In diesem Kapitel lernen Sie, wie man mit diesen Elementen arbeitet.
Kapitel 10, Zustände verwalten
Flex-Anwendungen und -Komponenten können sich von einer Ansicht zur nächsten verändern. Flex bezeichnet diese Änderungen als Zustände (states). Manchmal geht es dabei nur um so einfache Dinge wie das Hinzufügen einer neuen Komponente in ein Formular, während in anderen Fällen der gesamte Bildschirminhalt geändert werden muss. Wie man diese Zustände verwaltet, ist Thema dieses Kapitels.
Kapitel 11, Effekte und Übergänge verwenden
Flex verfügt über sogenannte Übergänge und Effekte, um animierte Übergänge zwischen Zuständen zu schaffen oder um auf User-generierte oder Systemereignisse zu reagieren. In Kapitel 11 erfahren Sie mehr über Übergänge und Effekte.
Kapitel 12, Mit Daten arbeiten
In diesem Kapitel lernen Sie, wie Sie in Flex-Anwendungen Daten modellieren und Komponenten verknüpfen, damit sie automatisch aktualisiert werden, wenn Datenwerte verändert werden.
Kapitel 13, Daten validieren und formatieren
In Kapitel 13 erfahren Sie, wie Sie Nutzereingaben validieren und Daten wie beispielsweise Zahlen, Telefonnummern etc. formatieren.
Kapitel 14, Das Aussehen einer Anwendung anpassen
Ein großer Vorzug von Flex-Anwendungen ist, dass das Aussehen der Anwendung der Corporate Identity eines Unternehmens oder einer kreativen Vorgabe gemäß angepasst werden kann. Dieses Kapitel erklärt, wie Sie die Optik von Flex-Anwendungen ändern können.
Kapitel 15, Client-Datenkommunikation
Unter Client-Datenkommunikation versteht man jeden Datentransfer in den Flash Player hinein oder aus ihm heraus, bei dem die Daten auf dem Client-Rechner verbleiben. Ein Beispiel dafür ist die Kommunikation zwischen zwei oder mehr Flex-Anwendungen, die auf demselben Rechner laufen und die ihre persistenten Daten auf dieser Maschine speichern. Diese Themen werden in Kapitel 15 behandelt.
Kapitel 16, Remote-Datenkommunikation
In Kapitel 16 erfahren Sie, wie eine Flex-Anwendung, die auf einem Client-Rechner läuft, mit einem Remote-Datenservice kommuniziert. Sie lernen, wie Sie XML, SOAP, AMF und mehr dafür nutzen.
Kapitel 17, Anwendungen debuggen
Anwendungen zu debuggen ist genauso wichtig wie sie zu schreiben. Es grenzt an Wunder, Anwendungen zu entwickeln, die fehlerfrei sind. Deshalb ist es lebensnotwendig, diese Fehler effizient aufzuspüren. In diesem Kapitel lernen Sie die Debugging-Features von Flex kennen.
Kapitel 18, Anwendungskomponenten
Um mit Flex-Anwendungen zurechtzukommen, ist es wichtig, sie in kleinere Einheiten zu unterteilen. Dieses Kapitel behandelt Strategien, die bei der komponentenbasierten Entwicklung von Nutzen sind.
Kapitel 19, Benutzerdefinierte Komponenten erstellen
Benutzerdefinierte Komponenten erlauben Ihnen, Elemente zu entwickeln, die genutzt, angepasst und verteilt werden können. Dieses Kapitel behandelt, wie Sie benutzerdefinierte Komponenten mit dem Flex-Framework entwickeln.
Um dieses Buch sinnvoll nutzen zu können, sollten Sie das Flex SDK und einen Texteditor besitzen. Es ist unser Ziel, dass jeder uns mit dem (freien) SDK folgen kann. Allerdings empfehlen wir den Flex Builder für jeden, der sich ernsthaft mit der Entwicklung von Flex-Anwendungen beschäftigen will. Wenn Sie gerade erst in Flex einsteigen, sollten Sie es zuerst mit der freien Testversion des Flex Builders probieren, um zu sehen, wie man Flex-Anwendungen optimal entwickeln kann.
Wir verwenden die folgenden typographischen Konventionen:
Kursiv
wird für neue Begriffe, URLs, E-Mail-Adressen, Dateinamen, Dateierweiterungen, Pfadnamen, Verzeichnisse und Unix-Utilities verwendet.
Kapitälchen
wird für Menütitel, -optionen und -befehle verwendet.
Nichtproportionalschrift
wird für Befehle, Optionen, Switches, Variablen, Attribute, Schlüssel, Funktionen, Typen, Klassen, Namensräume, Methoden, Module, Eigenschaften, Parameter, Werte, Objekte, Ereignisse, Event-Handler, XML-Tags, HTML-Tags, Makros, Inhalte von Dateien und die Ausgabe von Befehlen verwendet.
Nichtproportionalschrift fett
wird bei Befehlen oder anderen Texten verwendet, die vom Benutzer direkt einzugeben sind.
Nichtproportionalschrift kursiv
wird bei Text verwendet, den der Benutzer durch eigene Werte ersetzen muss.
|
Dieses Buch soll Ihnen dabei helfen, Ihre Arbeit zu erledigen. Im Allgemeinen können Sie den Code aus diesem Buch in Ihren Programmen und in Ihrer Dokumentation verwenden. Sie müssen O'Reilly nicht um Erlaubnis fragen, solange Sie nicht signifikante Teile des Codes verwenden. Wenn Sie zum Beispiel ein Programm schreiben, das verschiedene Codefragmente aus diesem Buch nutzt, dann benötigen Sie keine Erlaubnis. Der Verkauf oder die Distribution einer CD-ROM mit Codebeispielen aus O'Reilly-Büchern dagegen erfordert eine Genehmigung. Die Beantwortung einer Frage durch Zitieren dieses Buchs und des Beispielcodes bedarf keiner Genehmigung. Die Einbindung einer signifikanten Menge des Beispielcodes aus diesem Buch in die Dokumentation zu Ihrem Produkt erfordert eine Genehmigung.
Eine Quellenangabe ist zwar erwünscht, aber nicht notwendig. Dazu gehört in der Regel die Erwähnung von Titel, Autor, Verlag und ISBN. Zum Beispiel: »Programmieren mit Flex 2 von Chafic Kazoun und Joey Lott. Copyright 2007 O'Reilly Verlag. ISBN 978-3-89721-726-3«.
Falls Sie sich nicht sicher sind, ob die Nutzung der Codebeispiele über die hier erteilte Genehmigung hinausgeht, nehmen Sie bitte unter der Adresse permissions@oreilly.com Kontakt mit uns auf.
Dieses Buch ist mehr als üblich das Ergebnis der Bemühungen und Beiträge vieler Menschen, denen wir im Folgenden danken möchten.
Sehr viel Dank geht an die ganzen Leute bei O'Reilly, die dieses Buch möglich gemacht haben. Ein besonderer Dank geht an Steve Weiss und Audrey Doyle für die ganze harte Arbeit und Aufmerksamkeit, die uns während des Schreibens und Lektorierens dieses Buches zuteil wurde. Sie haben weit mehr als nur ihre Pflicht getan, und wir können ihre Bemühungen gar nicht hoch genug einschätzen.
Wir wollen auch den vielen Leuten bei Adobe danken, die nicht nur ein so fantastisches Produkt wie Flex 2 entwickelt, sondern auch unsere Fragen beantwortet und uns die Dinge gezeigt haben, die wir möglicherweise vergessen hätten. Einigen ausgesuchten Leuten möchten wir besonders danken: Matt Chotin, Alex Harui, Andrew Spaulding und Manish Jethani, der nicht nur unsere Fragen beantwortete, sondern sich auch die Zeit nahm, unsere Kapitel Korrektur zu lesen und uns mit wertvollen Kommentaren zu versorgen. Wir wollen uns auch sehr bei Mark Anders von Adobe bedanken, der freundlicherweise unsere Einladung angenommen hat, das Geleitwort zu diesem Buch zu schreiben. Wir danken auch Mike Chambers für die Hilfe während der Planung und des Schreibens dieses Buchs.
Die Qualität dieses Buchs ist nicht allein das Werk der Autoren. Die technischen Gutachter dieses Buchs sind großartige Menschen, die viele Stunden damit verbracht haben, uns unsere Fehler aufzuzeigen, damit wir diese korrigieren konnten, bevor Sie sie zu sehen bekamen. Zu den technischen Gutachtern gehören (neben den oben erwähnten Leuten bei Adobe) Darron Schall, Keith Peters, Marc Leuchner, Sam Roach, Steven Schelter, Daniel Williams, Ben Stucki, Sam Neff, Eric Cancil, Larry Davidson und Veronique Brossier.
Chafic
Ich möchte mich bei Joey Lott dafür bedanken, dass er ein so hervorragender Koautor war. Seine Erfahrung sowohl im technischen Bereich als auch im Verlagswesen hat mir dabei geholfen, den langen Prozess des Schreibens dieses Buchs durchzustehen. Ich möchte auch meiner Familie, meinen Freunden und dem Team bei Atellis für Ihre Unterstützung während dieser Erfahrung danken. Ich hab's geschafft! Schließlich möchte ich noch dem O'Reilly-Team danken, dass es an einen Erstautor und an dieses Buch geglaubt hat.
Joey
Ich würde ebenfalls gerne ein paar Leuten danken. Das ist Chafics Buch und ich bin dankbar, dass er mir genug vertraut hat, um mich zu fragen, ob ich daran mitarbeiten wollte. Chafic hat mich auch immer angetrieben, damit ich auch wirklich mein Bestes gebe. Ich möchte auch Robert Reinhardt für das Vertrauen danken, das er mir in all den Jahren geschenkt hat, als er mir einen ersten Einblick in das Verlagsgeschäft ermöglichte. Danke auch an meine Kollegen bei Schematic für ihre Bereitschaft, mir bei den Korrekturen zu helfen und die richtigen Fragen zu stellen. Natürlich will ich auch meiner Familie und meinen Freunden für Ihre Unterstützung und ihre Großzügigkeit danken.