Der Begriff Flash kann jeden der anderen unten definierten Begriffe enthalten, und ich finde, dass es verwirrend und irreführend sein kann, "Flash" zu sagen, ohne genau anzugeben, was Sie meinen. Ein typisches Beispiel: Ich bin mir nicht sicher, was Sie konkret meinen, wenn Sie in Ihrer Frage "Flash" sagen. Ist es Flash Player? Das Authoring-Tool? Oder die gesamte Sammlung von Technologien, die unter das fallen, was Adobe als "Flash-Plattform" bezeichnet? Lassen Sie mich die Technologien zum Erstellen von Flash- und Flex-Inhalten definieren, damit wir hier alle dieselbe Terminologie verwenden:
Flash Player ist eine Laufzeit für Rich Media-Inhalte im Browser. Es gibt auch Flash Lite zum Ausführen von Flash-Inhalten auf älteren oder Low-End-Mobilgeräten, und Adobe AIR erweitert Flash Player, damit Inhaltsautoren native Desktop- und Mobilanwendungen veröffentlichen können, die sich in Dateisysteme, Fenstersysteme und Geräte integrieren lassen Sensoren wie Beschleunigungsmesser und Kamera. Insgesamt bezeichnet Adobe diese als Flash-Laufzeiten .
Flash Professional (oft als Flash-Authoring-Tool oder Flash-IDE bezeichnet ) war traditionell die Hauptanwendung zum Erstellen von Inhalten, die auf Flash Player ausgeführt werden. Es ist sehr Designer-orientiert mit Zeitleisten, Ebenen und visuellen Zeichenwerkzeugen. Softwareentwickler finden diese Anwendung möglicherweise desorientiert und eingeschränkt im Vergleich zu anderen Entwicklungstools, die sich mehr auf Code konzentrieren, wie z. B. Flash Builder (siehe unten). Wenn jemand sagt: "Ich habe etwas mit Flash erstellt", bedeutet dies oft das Flash-Authoring-Tool, aber das ist nicht immer der Fall. Aus diesem Grund ist es gut, immer zu klären, um Verwirrung zu vermeiden.
ActionScript ist die primäre Programmiersprache, die von Adobe für Flash-Laufzeiten unterstützt wird. Die aktuelle Version ist ActionScript 3 (abgekürzt als AS3 ), das seit Flash Player 9 unterstützt wird. Mit älteren Versionen von ActionScript erstellte Inhalte können weiterhin in den neuesten Versionen von Flash Player ausgeführt werden, neue Funktionen werden jedoch nur bei Verwendung von ActionScript 3 unterstützt neue Inhalte erstellen.
Flex ist eine Sammlung von Technologien, mit denen umfangreiche Anwendungen erstellt werden können, die auf die Flash-Laufzeiten von Adobe abzielen. Obwohl "Flex" zuvor die gleiche Mehrdeutigkeit wie "Flash" hatte, konzentriert sich der Markenname Flex immer mehr auf das unten beschriebene Flex-Framework und SDK.
Das Flex SDK besteht aus Compilern, einem Befehlszeilen-Debugger und dem Flex-Framework. Die enthaltenen Compiler sind: 1. MXMLC, ein ActionScript- und MXML-Compiler zur Ausgabe der endgültigen SWF-Datei für die Bereitstellung in Flash Player. 2. COMPC, ein statischer Bibliotheks-Compiler für ActionScript, der SWC-Dateien ausgibt. 3. ASDOC, ein Dokumentationsgenerator, der auf der Compilertechnologie basiert.
Das Flex-Framework ist eine Sammlung von ActionScript-Klassen zum Erstellen von Rich Internet-Anwendungen. Dazu gehören Steuerelemente für Benutzeroberflächen, Webdienste und andere Konnektivitätsklassen, Formatierer und Validatoren, Drag & Drop, modale Fenster und Komponentenzustände. Diese Klassen befinden sich im Paket mx. *. Wenn Entwickler "Flex" ohne klarstellende Informationen sagen, meinen sie im Allgemeinen das Flex-Framework und nicht das Produkt, das früher als Flex Builder bekannt war.
Im Jahr 2011 spendete Adobe das Flex SDK an die Apache Software Foundation. Es heißt jetzt Apache Flex und wird vollständig von der Community und nicht von Adobe verwaltet. Die Mitarbeiter von Adobe leisten jedoch weiterhin einen Beitrag zum Projekt, und Flash Builder (siehe unten) unterstützt weiterhin neue SDKs, die vom Apache Flex-Projekt veröffentlicht wurden.
MXML ist eine XML-basierte Auszeichnungssprache, die von den Flex-Compilern verwendet wird, um das Layout und das Platzieren von Komponenten in Containern zu vereinfachen. Die baumartige Struktur von XML erleichtert die Visualisierung der Containment-Hierarchie. MXML wird während des Kompilierungsprozesses tatsächlich in ActionScript konvertiert.
Flash Builder (früher als Flex Builder bekannt ) ist eine Entwicklungsumgebung, mit der Entwickler verschiedene Projekttypen erstellen können, um SWF-Dateien zu erstellen, die für Flash-Laufzeiten bereitgestellt werden. Es basiert auf der Eclipse-Plattform und ist Softwareentwicklern besser bekannt. Flash Builder unterstützt Projekte, die mit Flex oder reinem ActionScript erstellt wurden. Flex-Projekte umfassen das Flex-Framework. ActionScript-Projekte sind die grundlegendsten, mit denen Sie arbeiten können, beginnend mit einer einzelnen Klasse und einer leeren Zeichenfläche, und das Flex-Framework ist nicht enthalten.
Flash Builder ersetzt Flash Professional nicht. Einige Benutzer von Flash Professional verwenden jetzt möglicherweise stattdessen Flash Builder. Dies sind häufig Softwareentwickler, die die von Flash Builder angebotenen erweiterten Entwicklungstools schätzen oder benötigen oder nicht stark mit Assets arbeiten, die in einem visuellen Tool erstellt wurden. Einige Entwickler schreiben ihren Code möglicherweise in Flash Builder, während sie ihre Projekte im Flash-Authoring-Tool kompilieren. Oft sind diese Entwickler auch Designer oder arbeiten mit anderen Designern zusammen. In dieser Situation werden möglicherweise viele grafische Elemente im Flash-Authoring-Tool erstellt, und es kann schwierig oder einfach unangemessen sein, sie in eine andere Umgebung zu bringen.
Das Flex-Framework wurde speziell zum Erstellen von Anwendungen entwickelt. Es enthält viele herkömmliche Formularsteuerelemente (Schaltflächen, Listen, Datenraster usw.), und ein Großteil des Codes wird auf einem erweiterten Komponentenframework ausgeführt, das in ActionScript geschrieben wurde. Nicht jeder erstellt die Art von Inhalten, für die Flex entwickelt wurde, und Flex ersetzt nicht die herkömmlichen Flash-Entwicklungspraktiken für alle. Für einige Entwickler ist dies ein besserer Ansatz, für andere jedoch möglicherweise nicht der richtige. Designintensivere Websites, wie sie für Filme, Musik, Energy Drinks, Werbekampagnen und ähnliches erstellt wurden, sollten das Flex-Framework wahrscheinlich nicht verwenden. Diese Arten von Inhalten eignen sich möglicherweise besser für Flash Professional oder ein reines ActionScript-Projekt in Flash Builder. Ähnlich, Kleine Widgets, die Sie in die Seitenleiste Ihrer Website oder in Ihr Profil auf einer Website für soziale Netzwerke einfügen, müssen möglicherweise mit reinem ActionScript (ohne das Flex-Framework) erstellt werden, da sie eine kleinere Dateigröße erfordern und wahrscheinlich keinen großen Komplex benötigen Komponentenarchitektur für größere Anwendungen. Bei der Ausrichtung auf Flash-Laufzeiten sollten Ihre Entwicklungsumgebung, Frameworks und Workflows basierend auf den Anforderungen und Zielen Ihres Projekts ausgewählt werden.