ActionScript
Basisdaten
Paradigmen: objektorientiert
Erscheinungsjahr: 1998
Designer: Gary Grossman
Entwickler: Adobe Inc. (früher Macromedia)
Aktuelle Version: 3.0  (27. Juni 2006)
Typisierung: stark, statisch
Beeinflusst von: JavaScript, Java
Beeinflusste: Haxe
Betriebssystem: plattformunabhängig
help.adobe.com/de_DE/as3/learn

ActionScript (AS) ist eine Programmiersprache des US-amerikanischen Softwareunternehmens Adobe Inc. auf Basis des ECMAScript-Standards (ECMA-262) für Programme, die für Adobe Flash, Flex oder Air entwickelt werden. Durch die Klassenbibliotheken von Adobe ermöglicht ActionScript einen programmierten Zugriff auf die grafischen und technischen Möglichkeiten der Flash-Umgebung. Es lassen sich Rich Internet Applications, Desktop-Anwendungen (Adobe Air) und Apps für Apple iOS, Android und Blackberry OS erstellen. Die Sprache wurde ursprünglich von Macromedia entwickelt, das im Dezember 2005 von Adobe Systems übernommen wurde.

Funktion

Bearbeiten

Während ursprünglich Adobe Flash die einzige integrierte Entwicklungsumgebung (IDE) für die ActionScript-Programmierung darstellte, wird die Sprache mittlerweile von zahlreichen Entwicklungsumgebungen unterstützt. Zu ihnen zählen das frei verfügbare FlashDevelop sowie die proprietären Programme FDT und IntelliJ IDEA. Adobe bietet zur Entwicklung von ActionScript-basierten Applikationen Adobe Flash Builder an, welches auf Eclipse basiert und sowohl allein lauffähig ist, als auch mit einem Plugin ausgeliefert wird, das alternativ zur Benutzung des Programms selbst in eine bestehende Eclipse-Entwicklungsumgebung integriert werden kann. Anwendungen wie Ming und OpenLaszlo ermöglichen die serverseitige Erstellung von SWF-Dateien.

Versionen

Bearbeiten
ActionScript 1
wurde 1999 in der Version 4 des Flash Players eingeführt, der damals von Macromedia entwickelt wurde. ActionScript 1 beherrschte nur rudimentäre Steuerungsfunktionen, um eine Präsentation interaktiv gestalten zu können. Objektorientierung ist in ActionScript 1 als prototypisierte Objektorientierung verfügbar.
ActionScript 2
ist eine zur Vorgängerversion kompatible objektorientiertere Erweiterung der Sprache, die mit Flash MX 2004 und dem Flash Player 7 vorgestellt wurde. Die prototypisierte Objektorientierung aus der ersten Version wurde mit einer neuen Syntax gekapselt, die Syntax- und Programmierparadigmen aus Java und C++ übernahm und klassenbasierte Entwicklung ermöglichte. Die Prototypkette ist jedoch erhalten geblieben und am Vererbungsmechanismus hat sich in dieser Version nichts geändert.

Seit der Einführung von ActionScript 3 wurde die API von ActionScript 1 und 2 nicht mehr weiterentwickelt, wird für die Abwärtskompatibilität jedoch auch noch in aktuellen Versionen des Flash Players unterstützt. Flex- und AIR-Anwendungen können ausschließlich in ActionScript 3 entwickelt werden.

ActionScript 3
wurde 2006 mit dem Flash Player 9 eingeführt und ermöglicht eine klassenbasierte Objektorientierung. Diese Version stellt somit eine große, nichtkompatible Erweiterung der Sprache dar, die auf Entwürfen zu ECMAScript 4 beruht. U. a. unterstützt AS3 die Typisierung zur Laufzeit. Gerade diese großen Änderungen führten zum Abbruch der Entwicklung von ECMAScript 4.0, sodass ActionScript 3 ein isolierter Vertreter dieses Sprachentwurfs ist.

Erweiterbarkeit

Bearbeiten

Über die Objektorientierung kann auf Basis von ActionScript über quelloffene Klassenpakete und binäre Klassenbibliotheken erweiterte Funktionalität bereitgestellt werden. Diese können in Flash- oder Flex-Projekte eingebunden werden. Bei den Klassenbibliotheken handelt es sich um ZIP-Archive mit der Dateiendung SWC, die neben ActionScript-Code alle Datenformate enthalten können, die auch in SWFs eingebettet werden können. Auf diese Weise können in diesen Dateien neben ActionScript-Logik auch als Komponenten (konfigurierbare GUI-Elemente für Flash oder Flex) gestaltete Elemente weitergegeben werden.

Neben den umfangreichen Klassenbibliotheken, die Adobe mit dem proprietären Adobe Flash oder dem freien Flex SDK ausliefert, gibt es eine Vielzahl freier, kostenloser oder kommerzieller Angebote anderer Entwickler und Firmen. Sie erweitern den Funktionsumfang der Kernsprache zum Teil erheblich und stellen auf Basis der Grundfunktionen von Sprache und Plattform Features, wie z. B. Tweening- oder 3D-Funktionalitäten, zur Verfügung.

Laufzeitumgebung

Bearbeiten

ActionScript 3 wird in der ActionScript Virtual Machine 2 (AVM2) ausgeführt, während die Vorgängerversionen in der AVM1 ausgeführt werden. Zwischen beiden virtuellen Maschinen ist keine nahtlose oder direkte Kommunikation möglich, so dass ActionScript 1 und 2 getrennt von ActionScript 3 laufen.

Siehe auch

Bearbeiten

Literatur

Bearbeiten
  • Michael Weigend: Adobe Flash CS5 mit ActionScript 3. Praxiseinstieg. mitp, 2011, ISBN 978-3826690839.
  • Tobias Hauser, Armin Kappler und Christian Wenz: Das Praxisbuch ActionScript 3. Galileo Design, 2010, ISBN 978-3836215657.
  • Colin Moock: Essential ActionScript 3.0. O’Reilly Verlag, 2007, ISBN 978-0596526948.
  • Colin Moock: ActionScript 3.0 Design Patterns. O’Reilly Verlag, 2007, ISBN 978-0596528461.
  • Colin Moock: Essential ActionScript 2.0. O’Reilly Verlag, 2004, ISBN 978-0596006525.
Bearbeiten

📚 Artikel Terkait di Wikipedia

AVM

Unternehmen mit Sitz in Malsch (Landkreis Karlsruhe) ActionScript Virtual Machine, siehe ActionScript Air Vice-Marshal, ein Generaldienstgrad (2-Sterne)

LLVM

LLVM (früher Low Level Virtual Machine) ist ein modulares Compiler-System mit einem virtuellen Befehlssatz, einem übergreifend optimierenden Übersetzungskonzept

Java (Programmiersprache)

Class-Loader, der die sichere Zuführung von Klasseninformationen zur Java Virtual Machine steuert, und Security-Manager, die sicherstellen, dass nur Zugriff

Adobe Flash

als plattformübergreifend verfügbare Laufzeitumgebung mit der Java Virtual Machine und mit klassischen Desktop-Anwendungen. Mit Adobe Integrated Runtime

Tamarin (JIT)

für seine ActionScript Virtual Machine (AVM) entwickelt. ActionScript 3 wurde 2006 mit Flash 9 eingeführt. Der Quellcode für die Virtual Machine und den

Liste von Werkzeugen zur statischen Codeanalyse

für CODESYS EcoStruxure Machine Expert – Machine Code Analysis Ein voll integriertes Analysewerkzeug für EcoStruxure Machine Expert von Schneider Electric

Vergleich von Programmiersprachen

Beeinflusst von Beeinflusste Betriebssysteme Erscheinungsjahr Lizenzen ActionScript Adobe Inc. JavaScript, Java Haxe Plattformunabhängig 1998 Proprietär