8 March 2010
Vertrautheit mit Flex
Alle
Als Produktmanager für Flex haben wir uns mit vielen Leuten über die bevorstehende Veröffentlichung von Flex 4 unterhalten, auch mit Kunden und unserem Entwicklungsteam. Die Erwartungshaltung in Bezug auf diese Version ist höher als je zuvor. Wir bieten neue Versionen von zwei an Flex angepassten Werkzeugen an: Adobe Flash Catalyst (derzeit in der Betaversion) und Adobe Flash Builder 4. Die gemeinsame Grundlage für alle ist jedoch das Flex 4-SDK. In diesem Artikel erhalten Sie eine Übersicht über die Funktionen, die Sie beim Ausprobieren des neuen SDK und Frameworks kennenlernen werden.
Wir empfehlen Ihnen, auch die Artikel Neuerungen in Flash Builder 4 von Andrew Shorten und Unterschiede zwischen Flex 3 und Flex 4 von Joan Lafferty zu lesen.
Die Überarbeitung des Flex-SDK konzentrierte sich auf drei Hauptthemen:
Das bedeutendste Thema des Konzepts „Design in Mind“ ist die neue Skinning- und Komponentenarchitektur Spark. Spark ist auf die vorhandene MX-Architektur aufgesetzt und bietet Entwicklern und Designern einen wesentlich kreativeren Mechanismus für die gemeinsame Arbeit am Erscheinungsbild von Flex-Anwendungen. Derzeit umfasst Spark rund 30 neue Komponenten und Primitive. Sie bilden die Grundlage der nächsten Generation von Adobe-Komponenten und sind für eine problemlose Integration mit Adobe Flash Catalyst ausgelegt. Dieses Release enthält fast jede Komponente, die für die neue Architektur geplant ist. Es gibt aber nicht von allen Komponenten in MX eine Spark-Version. Da Spark auf der gleichen Grundlage wie die MX-Komponenten aufbaut, können alle vorhandenen MX-Komponenten problemlos mit der neuen Architektur zusammenwirken. Weitere Informationen zur Architektur finden Sie im Artikel von Deepa Subramaniam: Kurze Übersicht über die Spark-Architektur und das Komponentenset.
Auch die Unterstützung von FXG stößt auf breites Interesse, das neue Interchange-Format für die Flash-Plattform. Neben der Unterstützung einer Verwendung von FXG direkt in der Flex-Anwendung enthält das Flex-Framework Grafikprimitive, die sich an den Tags in FXG ausrichten. Auch diese Grafikprimitive können direkt in der Flex-Anwendung verwendet werden. Sie unterstützen die gleiche Editierbarkeit während der Laufzeit, die ältere Flex-Komponenten bieten. Damit die Komponenten auch bei hoher Leistung einwandfrei dargestellt werden, hat Adobe den Compiler so ausgelegt, dass statische FXG-Tags direkt in SWF-Tags optimiert werden, die von Flash Player nativ verstanden werden. Damit lassen sich Grafiktags flexibel vom gewünschten Editor bearbeiten und erzielen gleichzeitig dort Spitzenleistungen, wo dies wichtig ist. Weitere Informationen zu FXG
Die Spark-Architektur enthält des Weiteren eine aktualisiertes und flexibleres Layoutmodell. Die neuen, während der Laufzeit zuordenbaren Layouts unterstützen 2D-Drehungen und Skalierungen in vollem Umfang. Außerdem können die neuen 3D-Funktionen von Flash Player 10 nach dem Layout auf jede Komponente angewendet werden. Dieser Mechanismus ermöglicht die Virtualisierung nicht nur in Listenklassen, sondern auch in einem regulären Containermodell – Sie können sich also vom Repeater verabschieden. Auch das fortlaufende Durchblättern von Containern und Listen wird unterstützt. Weitere Informationen zu Spark-Containern* und Layouts*
Und schließlich führt Spark als Grundlage für optimierte Effekte und Übergänge eine neue, bessere Animationsengine ein. Flex 4 unterstützt die automatische Umkehrung von Übergängen, als Effekte eingesetzte Pixel Bender-Filter, Transformationen in allen drei Ebenen sowie komplexe keyframebasierte Animationen. In den Beispielanwendungen sehen Sie Effekte in Aktion. Weitere Informationen zu Spark-Effekten finden Sie in der Dokumentation und in den Artikeln von Chet Haase: Teil 1 und Teil 2.
Status waren ein Flex-Bereich, der bekanntermaßen verbesserungswürdig war. Das Konzept von Status ist leicht verständlich. Leider war die Implementierung in Flex 3 jedoch nicht so unkompliziert, wie sie hätte sein können. Aus diesem Grund hat Adobe mit Flex 4 einige Verbesserungen an der MXML-Sprache eingeführt, die das Arbeiten mit Status vereinfachen.
Zur Unterstützung des neuen Modells wurde die MXML-Sprache auf MXML 2009 aktualisiert. Gleichzeitig wurden zur Unterstützung besserer Werkzeuge einige Verbesserungen an MXML vorgenommen. Die Bearbeitung mit einem einfachen Texteditor ist weiterhin möglich. Weitere Informationen zu MXML 2009 und der neuen Statussyntax.
Beim Thema „Entwicklerproduktivität“ lag der Schwerpunkt primär auf der Compilerleistung. Uns gelang eine Reihe von Optimierungen, die zu echten Verbesserungen geführt haben. Außerdem wurden für das ASDoc-Werkzeug einige Verbesserungen vorgenommen, einschließlich der oft geforderten Unterstützung von ASDoc in MXML-Dokumenten. Die Bindungsfunktion wurde aktualisiert, sodass jetzt die bidirektionale Kommunikation unterstützt wird: Mit einem einfachen @ vor dem Bindungsausdruck werden Aktualisierungen des Bindungsziels wieder in die Quelle zurückkopiert. Zu den am dringendsten geforderten Funktionen gehört die Unterstützung von weiteren CSS-Selektoren, zu denen auch abhängige und kennungsbasierte Selektoren gehören. Diese Forderung haben wir erfüllt – mit einem Ergebnis, das sich sehen lassen kann. Weitere Informationen zu diesen Verbesserungen finden Sie in der Dokumentation.
Die Weiterentwicklung des Flex-Framework muss natürlich auch über die Spark-Architektur hinaus fortgesetzt werden. Aus diesem Grund wurde die Videonutzung in Flex-Anwendungen verbessert. Spark umfasst „VideoDisplay“, eine Chromeless-Videokomponente, und „VideoPlayer“, einen mit Skins ausführbaren Wrapper für „VideoElement“. Beide Klassen bauen auf der Videoklasse des Open Source Media Framework auf. Entwickler können damit auf einfache Weise Video in ihre Anwendungen einbauen und das Erscheinungsbild anpassen. Weitere Informationen zu OSMF
Eine leistungsstarke Funktion von Flash Player 10 ist die neue Textengine und das damit verknüpfte Textlayout-Framework. Textengine und Textlayout-Framework wurden direkt in das Flex-Framework integriert. Damit werden neue Text-Steuerelemente für Spark erstellt und gleichzeitig eine grundlegende Verbindung zu den MX-Steuerelementen geschaffen. Die neuen Text-Steuerelemente unterstützen bidirektionalen Text. Spiegelung ist im aktuellen Release zwar noch nicht enthalten, doch die Implementierung wird nicht lange auf sich warten lassen. Damit können künftige Flex-Anwendungen weltweit in jeder Sprache ausgeführt werden. Auf vielfachen Wunsch basieren die HTML-Vorlagen nicht mehr auf dem bisherigen Adobe Flash Player Detection Kit, sondern auf dem Open Source-Verfahren SWFObject.
Das war’s schon. Jetzt können Sie sich selbst von der nächsten Generation in der Flex-Entwicklung überzeugen. Laden Sie Flash Builder, die Betaversion von Flash Catalyst oder einfach nur das Flex 4-SDK herunter. Schon die bisher mit Flex erstellten Anwendungen waren unglaublich, und wir hoffen, dass mit dem neuen Framework und den neuen Werkzeugen noch beeindruckendere Ergebnisse entstehen.