Apache Flex

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Apache Flex
Logo
Entwickler Apache Software Foundation
Aktuelle Version 4.10
(4. August 2013)
Programmier­sprache ActionScript 3.0
Kategorie Entwicklungsframework
Lizenz Apache License, Version 2.0
flex.apache.org

Apache Flex, vorher Adobe Flex, ist ein Entwicklungsframework zum Erstellen von Rich Internet Applications (RIAs) auf der technischen Basis der Adobe Flash-Plattform. Neben dem als Open Source veröffentlichten SDK besteht das Framework aus dem kostenpflichtigen Flash Builder (seit Version 4, davor hieß dieser Flex Builder), den LiveCycle Data Services und den Flex Charting-Komponenten. Obwohl es schon vor der Veröffentlichung von Flex möglich war, mit Adobe Flash (früher Macromedia) reichhaltige Anwendungen zu erstellen, bot Flash als Werkzeug nicht das von Software-Entwicklern von einer IDE geforderte Funktionsspektrum, sondern wurde weiterhin hauptsächlich von Webdesignern und Grafikern eingesetzt. Flex soll deshalb gezielt Software-Entwickler ansprechen.

Unterschiede zu Flash[Bearbeiten]

Flex hat mehrere Bestandteile, die als Framework auf die Technik der Adobe Flash-Plattform aufsetzen.

MXML und Actionscript[Bearbeiten]

Eine Flex-Anwendung wird mit Hilfe der Auszeichnungssprache MXML für die Benutzeroberfläche und der Programmiersprache ActionScript für die Anwendungslogik entwickelt. MXML basiert auf XML, mit der ein Entwickler die Zusammensetzung der Benutzeroberfläche aus sichtbaren und unsichtbaren Komponenten beschreibt. Der Flex-Compiler übersetzt in einem Zwischenschritt die MXML-Dateien in ActionScript-Quelldateien, die im weiteren zu einer Flashdatei kompiliert werden. Der Entwickler kann die Benutzeroberfläche daher auch ohne MXML teilweise oder komplett in ActionScript imperativ beschreiben. Änderungen an der Zusammensetzung der Benutzeroberfläche sind deshalb auch während der Laufzeit möglich.

LiveCycle Data Services[Bearbeiten]

Die LiveCycle Data Services (vormals Flex Data Services) sind die Serverkomponente aus der Flex-2-Produktfamilie. Über diesen Dienst kann die Flexanwendung andere Serveranwendungen (zum Beispiel Java-Anwendungen) ansprechen. Teile davon sind unter der Bezeichnung BlazeDS Open Source bekannt.

Flash Builder[Bearbeiten]

Der Flash Builder ist die integrierte Entwicklungsumgebung von Flex und basiert auf Eclipse. Mit ihr können vollständige und komplexe ActionScript-Projekte, sowohl für den Einsatz auf Websites als auch für den Desktop entwickelt werden. Grafische Oberflächen werden in Flash Builder mit der XML-basierten Sprache MXML beschrieben, wobei der Flash Builder auch eine Design View von MXML-Code zulässt, mit der die mausunterstützte Komposition von Benutzeroberflächen möglich ist. Der Flash Builder ist kostenpflichtig und ist in einer Standard und einer Professional Version verfügbar, die sich durch den Umfang der verfügbaren Komponenten zur Datenverarbeitung und durch das Vorhandensein bestimmter Profiling-Werkzeuge unterscheiden. Die Professional Version ist für Schulen jedoch kostenlos (Adobe Flash Builder Pro for Education).

Adobe hat angekündigt, dass im Rahmen der Übergabe von Flex an die Apache Software Foundation die Design View des Flash Builders nicht mehr weiterentwickelt wird.

Flex-Charting-Komponenten[Bearbeiten]

Die Flex-Charting-Komponenten (Data Visualization) sind eine Erweiterung des Flex SDK. Mit diesen Komponenten können in einfacher und optisch ansprechender Weise Diagramme dargestellt werden. Die Charting-Komponenten sind seit der Version 4 enthalten (vorher nur mit Flex Builder 3 Professional).[1]

Geschichte[Bearbeiten]

Flex 2[Bearbeiten]

Der Flex Builder 1.5 baute noch auf Dreamweaver MX 2004 auf. Seit Version 2.0 basiert der Flex Builder auf Eclipse 3.1. In dieser Version ist es nicht mehr erforderlich, die Flex-Anwendungen von einem Server kompilieren zu lassen. Die Kompilierung übernimmt nun die integrierte Entwicklungsumgebung oder der Kommandozeilen-Compiler des Flex SDK. Mit Flex 2 wurde zudem ActionScript 3 eingeführt.

Flex 3[Bearbeiten]

Am 25. Februar 2008 veröffentlichte Adobe Flex 3. Das SDK selbst ist nun als kostenloser Download verfügbar. In Flex 3 neu hinzugekommen sind hauptsächlich die Unterstützung von Adobe AIR sowie Funktionen für Profiling und Refactoring.

Flex 4[Bearbeiten]

Adobe hat Flex 4 (Codename Gumbo) im März 2010 veröffentlicht. Neu ist die „Spark“ genannte Komponentenarchitektur und die Unterstützung des Austauschformats FXG, die zum Release von Adobe Flash Catalyst einen integrierten Arbeitsfluss ermöglichen soll. Mit „Spark“ wurde das Layoutmodell erneuert und erlaubt nun die Anwendung von 2D- und 3D-basierten Animationen auf Komponenten sowie die automatische Umkehrung von Übergängen, den Einsatz von Pixel Bender-Filtern und keyframebasierte Animationen. Das Status-Feature (Viewstates), das verschiedene Zustände der Anwendung ermöglicht, wurde verbessert. Die Compilerleistung wurde optimiert. Das ASDoc-Werkzeug zur Dokumentation von Anwendungen unterstützt nun ASDoc in MXML-Dateien. Die DataBinding-Funktion unterstützt jetzt die bidirektionale Kommunikation und Veränderung von Daten. Die mit Flash Player 10 verbesserte Text-Engine wurde in Flex integriert. Die HTML-Vorlagen zur Einbettung von Flex-Anwendungen in HTML-Code basieren nun auf der Open Source-Methode SWFObject.

Weiterentwicklung von Flex[Bearbeiten]

Adobe hat das Flex SDK inklusive der Spark genannten Komponenten und des neuen Falcon-Compilers an die Apache Software Foundation abgegeben, wo es aktiv weiterentwickelt wird.[2] Die Weiterentwicklung des MXML-Designers im Flash Builder, des in der Creative Suite enthaltenen Tools Adobe Flash Catalyst sowie der Introspektion genannten datenzentrierten Entwicklerfeatures wurde eingestellt.[3] Darüber hinaus will Adobe die eigenen Runtime Shared Libraries, die das Flex-Framework enthalten, nicht mehr signieren.[4] Im Unterschied zu RSLs von Drittentwicklern waren die RSLs von Adobe vorkompiliert und digital signiert, da der Adobe Flash Player sie so allen gleichzeitig laufenden Anwendungen, unabhängig von ihrer Domain, zur Verfügung stellen kann. Eigene RSLs konnten nur von Anwendungen der gleichen Ursprungsdomain gleichzeitig verwendet werden.[5]

Vor- und Nachteile von Flex-Anwendungen[Bearbeiten]

Vorteile[Bearbeiten]

  • Mit Flex entwickelte Anwendungen laufen auf allen Plattformen, die eine Version des Flash Players installiert haben, gleich. Der Flash Player steht für viele Betriebssysteme zur Verfügung, daher gelten Flex-Anwendungen als plattformunabhängig.
  • Nach dem Laden der Anwendung werden nur noch Daten über das Netzwerk getauscht, die der Entwickler als Geschäftsdaten der Anwendung vorsieht.
  • Das Flex SDK ist quelloffen (Open Source) und seit Januar 2013 ein Top-Level-Projekt der Apache Software Foundation.[6]
  • Kostenlose Middleware für das Action Message Format (AMF) ist für alle bekannten Websprachen vorhanden (z.B. BlazeDS für Java, FluorineFX für .NET, AMFPHP für PHP, WebORB für Ruby).

Nachteile[Bearbeiten]

  • Die integrierte Entwicklungsumgebung Flash Builder ist kostenpflichtig. Es existieren jedoch alternative Entwicklungsumgebungen, wie FlashDevelop.
  • Die LiveCycle Data Services sind für mehr als eine CPU kostenpflichtig.
  • Die HTML-Ausgabe wird nur unzureichend unterstützt.

Versionshistorie[Bearbeiten]

1.0 März 2004
1.5 Oktober 2004
2.0 28. Juni 2006
3.0 25. Februar 2008
4.0 22. März 2010
4.5 3. Mai 2011
4.6 30. November 2011
4.8 25. Juli 2012
4.9 27. Dezember 2012
4.9.1 29. Februar 2013
4.10 4. August 2013

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Flash Builder Help/Flex 4.6 SDK Release Notes. Using the Data Visualization Components with Flex SDK. Englisch. Online auf helpx.adobe.com.
  2. Project History. Englisch. Online auf flex.apache.org.
  3. Kai König: Flex Summit – (wie) geht's weiter?. heise developer, 15. Dezember 2011. Online auf heise.de.
  4. Kai König: Die Zukunft von Flex. heise developer, 23. Dezember 2011. Online auf heise.de.
  5. Using the framework RSLs. Englisch. Aus der Flex 3 Dokumentation, online auf livedocs.adobe.com, abgerufen am 28. Dezember 2011.
  6. The Apache Software Foundation Announces Apache Flex™ as a Top-Level Project. Englisch. Online auf blogs.apache.org, Post von Sally in General vom 14. Januar 2013.