Adobe Air (wiwobooks.com Release)
mag: Die wesentlichen Aspekte sind relativ schnell erfasst; der Rest kommt mit der Übung.
1.7.4 Flash Player/ActionScript Virtual Machine 2
Herzstück der Flash-Plattform ist der Flash Player. Auch dieser wurde bereits mit der Version 9.0 gehörig überarbeitet: So wurde im Zuge der systematischen Änderung von ActionScript mit dem Flash Player der Generation 9 die virtuelle Maschine AVM2 (ActionScript Virtual Machine 2) eingeführt, die eine deutliche Performancesteigerung mit sich bringt.
Das liegt vor allem daran, dass der Flash Player seit der Version 9 die .swfInhalte wesentlich effizienter verarbeiten kann. Zum einen war die Typisierung in ActionScript kein technisches Feature mit Performancevorteilen (so können beispielsweise Ganzzahlen deutlich schneller verarbeitet werden als Fließkommazahlen), sondern ein Bequemlichkeitsfeature, um Typenhinweise beim Verfassen des Quelltexts anzeigen zu können. In der fertigen .swfDatei (die, Sie erinnern sich, im Grunde untypisiertem ActionScript 1-Quelltext entsprach) hingegen musste der Typ jeweils erst dynamisch bestimmt werden – das kostet Zeit und Performance.
Neben der Tatsache, dass der von der vom ActionScript-Compiler produzierte Zwischencode, aus dem die .swf-Datei besteht, nun wesentlich aufgeräumter und effizienter daherkommt, kann AVM2 zum anderen mithilfe Just-In-Time-Kompilierung (JIT) diesen Zwischencode höchst performant maschinennahe verarbeiten. Insgesamt haben eigene Benchmark-Experimente einen Faktor von bis zu ten. Insgesamt haben eigene Benchmark-Experimente einen Faktor von bis zu Inhalten gebracht.
Bleibt noch zu erwähnen, dass die »alte« AVM aus Gründen der Rückwärtskompatibilität erhalten bleiben wird, damit auch in künftigen Flash-Plattform-Anwendungen alte Flash-Filme laufen.
Hinweis
Zum Unterschied zwischen dem Kompilieren und Interpretieren von Quelltext lesen Sie die Informationen im Kasten in Abschnitt 1.2.5.
Wenn Sie an Details zum »Innenleben« der AVM2 und zur Funktionsweise Ihres JITCompilers interessiert sind, finden Sie unter http://www.onflex.org/ACDS/AS3Tuning InsideAVM2JIT.pdf eine sehr aufschlussreiche Präsentation von Adobes Gary Grossman. (Vorsicht: sehr technisch!)
Es gehört wohl zu den größten Genugtuungen der ActionScript-Entwicklergemeinde, die Kinnlade von Programmierern anderer Programmiersprachen herunterklappen zu sehen, wenn ihnen Flash-Anwendungen vorgeführt werden (»Das kann man mit Flash machen?«).
Wow-Effekt mit der Flash-Plattform
Wenn Sie sich selbst oder Bekannte einmal verblüffen wollen, stöbern Sie einmal in diesen Links:
http://aviary.com/tools/peacock – eine Art visuelles Laboratorium zum Erstellen von komplexen Grafiken
http://www.buzzword.com/ – ein mittlerweile zu Adobe gehörender Online-Texteditor http://www.scrapblog.com/ – eine originelle Webanwendung zum Erstellen digitaler Collagen
http://www.discovery.com/discoveryearthlive – eine interaktive Webapplikation, mit der Sie einiges über den Zustand der Erde erfahren
http://www.flauntr.com/ – eine Online-Bildbearbeitung
https://www.photoshop.com/express/ – Online-Version von Adobe Photoshop
1.7.5 Flex
ActionScript und Flash Player bilden also die Basis für die Entwicklung komplexer Inhalte der Flash-Plattform, und Adobe Flash kann, wenn auch wenig effizient, zur Programmierung solcher Inhalte verwendet werden. ActionScript selbst verfügt über eine überaus große Sammlung von Kernfeatures und Paketen (Packages), die den gesamten Funktionsumfang des Flash Players abdeckt – von der programmatischen Erstellung von Grafiken oder Textelementen über das Laden von externen Inhalten wie Text, Bilder, Ton oder Video bis hin zur Interaktion mit dem Benutzer (z. B. per Keyboard oder Mouse), nur um ein paar der zahlreichen Funktionen zu nennen. Mit dem Flash Player 10 sind noch weitere Klassen und Features hinzugekommen, z. B. die Vector-Klasse, 3D-Berechnung oder Pixel Bender zur Manipulation von Bitmaps.
Allerdings verfügt dieser Grundstock an ActionScript-Quelltextelementen nur über vergleichsweise wenige Komponenten, aus denen sich eine komplexe Benutzerschnittstelle (User Interface, UI) zusammenstellen lässt. Außerdem ist das Entwerfen von Benutzerschnittstellen innerhalb der Flash-Anwendung gelinde gesagt eher mühsam.
Flex als komfortables ActionScript-Framework
Hier kommt Flex ins Spiel: Flex, erhältlich als Flex Software Development Kit (SDK, derzeit in Version 3.2) unter Open-Source-Lizenz
Weitere Kostenlose Bücher