6 Stimmen

Soll ich Flash oder Flex verwenden?

Hier bei SO habe ich gefragt, in welcher Sprache ich eine Web-App erstellen sollte, die ein Video von der Webcam des Benutzers erfassen und es an den Server senden würde, wenn er auf 'Absenden' klickt, und die Antworten waren größtenteils Flash.

Aber bei meiner Recherche im Web wurde ich mit diesem Flash/Flex-Ding verwirrt, da sie sagen, dass Flash dazu dient, Animationen zu erstellen und Flex wirklich dazu dient, Web-Apps zu erstellen.

Also, was sollte ich verwenden? Meinten sie mit Flash Flex? Oder ist Flash für ein Programm wie dieses in Ordnung? Sollte ich Flash Pro. oder Flash Builder verwenden? ActionScript oder XMXL lernen?

Es mag so aussehen, als gäbe es auf der Webseite tonnenweise Inhalte dazu, aber je mehr ich lese, desto mehr werde ich verwirrt.

Vielen Dank im Voraus.

11voto

Marcus Stade Punkte 4646

Ich würde empfehlen, diese Anwendung mit Flex zu schreiben. Hauptsächlich, weil meiner Meinung nach das Flex-Toolset viel besser ist als Flash Professional. Obwohl es in Ihrer Frage nichts zu geben scheint, was das Flex-Framework wirklich erfordert, würden Sie wahrscheinlich davon profitieren, es zu verwenden. Nicht nur aufgrund seiner überlegenen Entwicklungsumgebung, sondern auch, weil es ein paar Dinge im Flex-Framework gibt, die die Arbeit mit Daten viel einfacher machen.

Ungeachtet dessen scheint es hier eine Menge Verwirrung über die Terminologie zu geben, also werde ich versuchen, ein paar Dinge klarzustellen:

HAFTUNGSAUSSCHLUSS: Dies ist keineswegs eine umfassende Liste von allem Flash. Obwohl ich mein Bestes getan habe, um sachlich zu sein, habe ich möglicherweise wichtige Details der Kürze halber ausgelassen (hey, zumindest habe ich es versucht) und in anderen Fällen bin ich möglicherweise einfach falsch. Die üblichen Vorbehalte gegenüber der Quelle gelten.

  • Flash-Player bietet die Möglichkeit, Vektor- und Rastergrafiken darzustellen sowie Benutzercode in einer virtuellen Maschine auszuführen. Der Player ist das Herzstück der Flash-Plattform und ermöglicht es, Inhalte auf mehreren Plattformen auszuführen (in der Regel ohne plattformspezifische Anpassungen). Im Player gibt es einige APIs, die tatsächlich nativer Code sind, jedoch aus ActionScript heraus aufgerufen werden können.

  • ActionScript ist die bevorzugte Hochsprache der Flash-Plattform. Es gibt andere, insbesondere Haxe, aber sie werden von Adobes Tools nicht unterstützt. Es gibt drei Versionen der Sprache: ActionScript 1, 2 und 3. Die ersten beiden wurden vor Flash 9 verwendet, das eine vollständig neu geschriebene virtuelle Maschine (AVM2) einführte und somit auch AS3 einführte. Die früheren Sprachen werden in einer älteren virtuellen Maschine namens AVM1 ausgeführt. Ältere Inhalte, die für AVM1 erstellt wurden, können in neueren AVM2-fähigen Playern ausgeführt werden. Sie werden jedoch immer noch im AVM1-Modus ausgeführt, um die Abwärtskompatibilität zu gewährleisten. Flash handhabt die Abwärtskompatibilität tatsächlich bemerkenswert gut.

  • Flash Professional, auch als Flash-IDE bekannt, ist der Name eines Tools zur Erstellung von Flash-Inhalten. Es begann als Möglichkeit, nur Animationen zu erstellen, aber als das Flash-Movie-Format Skriptfähigkeiten erhielt, erhielt auch das Tool sie. Die Skripterstellung war jedoch lange Zeit ein ungeliebtes Kind dieses Tools. Obwohl in den letzten paar Versionen Verbesserungen in diesem Bereich zu verzeichnen sind, steht es immer noch im Vergleich zu anderen entwicklerorientierteren Umgebungen zurück. Dieses Tool kompiliert nur reine ActionScript-Projekte, wird nicht zur Entwicklung von Flex-Anwendungen verwendet und wird im Allgemeinen als benutzerfreundlicher für Designer als für Entwickler angesehen.

  • Flex ist der Name des Unternehmensanwendungs-Frameworks von Adobe. Zu Flex gehören einige Schlüsseltechnologien und es ist mehr als nur eine Kernfunktionsbibliothek. Im Folgenden werde ich versuchen, die Schlüsseltechnologien des Frameworks prägnant zu erklären. Das Flex SDK ist tatsächlich Open Source und kann frei verwendet werden, um Anwendungen zu entwickeln. Es enthält jedoch alles, was zum Erstellen von Flex-Anwendungen erforderlich ist, jedoch keine IDE.

    • MXML ist eine deklarative Sprache. Sie wird in der Regel verwendet, um Ansichten deklarativ zu definieren, kann aber für viele Dinge verwendet werden. Zum Beispiel nutzt das Swiz-Framework MXML, um Abhängigkeiten deklarativ mit IoC zu definieren. Natürlich gibt es noch viel mehr über Swiz zu sagen, aber das sprengt den Rahmen dieser Antwort.

    • MXMLC & COMPC sind zwei Compiler, die zur Kompilierung von Flex-Projekten verwendet werden. Ersteres wird verwendet, um SWF-Anwendungen zu kompilieren, letzteres wird verwendet, um SWC-Bibliotheken zu kompilieren.

    • Die Kernbibliothek enthält unter anderem zwei Standardkomponentensätze: MX und Spark; ersteres wird häufig als Halo bezeichnet. MX ist ein älterer Komponentensatz und obwohl er noch unterstützt wird, gilt er als veraltet und wird wahrscheinlich auslaufen, sobald Spark den Funktionsumfang von MX erreicht. Die beiden Komponentensätze sind jedoch weitgehend kompatibel miteinander und können gut in derselben Anwendung koexistieren. Eine weitere bemerkenswerte Funktionalität ist eine umfangreiche Datenverwaltungs- und -zugriffsfunktion, sowohl für textbasierte Daten wie XML oder JSON als auch für binäre Daten (AMF).

      Die Bibliothek wird im Allgemeinen einfach als Flex oder das Flex-Framework bezeichnet.

  • Flash Builder ist die IDE von Adobe zur Entwicklung von Flex-Anwendungen. Obwohl es sicherlich möglich ist, sie zur Entwicklung reiner AS3-Anwendungen zu verwenden, wird sie am häufigsten zur Entwicklung von Flex-Anwendungen verwendet. Es ist eine anständige IDE, die die meisten Funktionen einer modernen Entwicklungsumgebung bietet, aber es gibt beliebte Alternativen wie PowerFlashers FDT. Während das Flex SDK kostenlos und Open Source ist, ist Flash Builder proprietäre und kommerzielle Software.

4voto

Carlos Pinto Punkte 518

Dies ist nicht ganz korrekt. Du kannst Flash Professional verwenden, um Code in nativem Actionscript 3 zu entwickeln und zu schreiben, während du auch auf Designer-Ebene Bilder/Animationen erstellen kannst.

Um deine Frage zu beantworten, wenn du in MXML coden möchtest, musst du Flash Builder verwenden. Wenn du in nativem AS3 schreiben möchtest, kannst du entweder das eine oder das andere verwenden. Beide werden funktionieren, jedoch habe ich aus persönlicher Erfahrung festgestellt, dass du mit nativem AS3 mehr Freiheit hast. Außerdem ist für die Art der Anwendung, die du erstellen möchtest, die Leistung wahrscheinlich von großer Bedeutung, daher wird empfohlen, AS3 mit voller Kontrolle zu verwenden.

BEARBEITEN: Auch wenn du mit C++ oder Java vertraut bist oder eine andere objektorientierte Programmiersprache beherrschst, wird das Programmieren in ActionScript3 sich sehr vertraut anfühlen.

3voto

splash Punkte 12777

Meiner Meinung nach sagt das alles aus: Flash Professional ist für Designer und Flash Builder (Flex) ist für Programmierer.

Mit Flash Builder musst du sowohl MXML als auch ActionScript lernen. MXML dient der deklarativen Gestaltung der Benutzeroberfläche und ActionScript ist die Programmiersprache.

1voto

Sasha Chedygov Punkte 121566

"Flash" ist der Name der gesamten Plattform (ähnlich wie .NET oder Java). "Flex" ist der Name eines Frameworks, das auf Flash aufbaut. Indem Sie Flex verwenden, verwenden Sie technisch gesehen auch Flash.

Ihre beiden Hauptoptionen für die Entwicklung sind die Flash Professional IDE und Flex (entweder manuell durch ihren Compiler oder durch die Flash Builder IDE). Der Unterschied liegt darin, wie Sie die Benutzeroberfläche erstellen: In Flash Professional gestalten Sie Elemente visuell, während Sie diese in Flex mit MXML programmieren (obwohl Flash Builder auch über einen einfacheren visuellen Designer verfügt). Beide Tools verwenden ActionScript für die Anwendungslogik, obwohl Flash Professional es mehr als Skriptsprache denn als traditionelle Programmiersprache verwendet.

Da Sie mehr mit Programmierung als mit Design beschäftigt sein werden, passt Flex meiner Meinung nach besser zu Ihrer Anwendung. Um loszulegen, werfen Sie einen Blick auf Learn Flex in a Week.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X