Bachelorarbeit, 2013
122 Seiten
Medien / Kommunikation - Multimedia, Internet, neue Technologien
1 Einleitung
2 Grundlagen
2.1 Rich Internet Applikation
2.2 Adobe Integrated Runtime
2.3 Vergleich zu Java Micro Edition
2.4 Adobe ActionScript
2.5 Apache Flex Software Development Kit
2.6 Adobe Native Extensions
2.7 NativeProcess-ActionScript Klasse
2.8 ActionScript Klassen Bibliothek (SWC-Datei)
2.9 Unterstützte Geräte
2.10 Beispiel-Erweiterungen
2.11 Zusammenfassung
3 Architektur von Native Extensions
3.1 Allgemeine Architektur
3.2 Native Architektur
3.3 Fazit
4 Entwicklungsschritte
4.1 Die Programmierung in ActionScript
4.2 Die Programmierung in C
4.3 Die Programmierung in Java
4.4 FREObekt-Typen
4.5 Descriptor-File
4.6 Verpacken der ANE
4.7 Vergleich zu Java Native Interface
4.7.1 Entwicklungsschritte für Java Native Interface
4.7.2 Vergleich von ANE und JNI
5 Praxis-Beispiele
5.1 ANE für Windows
5.1.1 Die C-Implementierung
5.1.2 Die ActionScript- Bibliothek
5.1.3 Das Descriptor-File
5.1.4 Erstellen der ANE
5.1.5 Verwenden der ANE
5.2 ANE für Android
5.2.1 Die ActionScript-Bibliothek
5.2.2 Descriptor-File
5.2.3 Default Implementierung
5.2.4 Die Android-Implementierung
5.2.5 Erstellen der ANE
5.3 Eigene Erfahrungen
6 Resümee
Die vorliegende Arbeit untersucht das Konzept der Adobe Native Extensions (ANE) für die Adobe Integrated Runtime (AIR). Ziel ist es, Entwicklern aufzuzeigen, wie plattformspezifische Funktionalitäten, die über den Standardfunktionsumfang von AIR hinausgehen, durch die Einbindung von nativem Code in eine AIR-Applikation integriert und nutzbar gemacht werden können.
Die Programmierung in ActionScript
Die ActionScript Erweiterungs-Klasse verwendet und tauscht Daten mit der nativen Implementierung aus. Dieser Zugriff erfolgt unter Verwendung der Klasse ExtensionContext.
Folgende Funktionalität kann bei der Implementierung in ActionScript genutzt werden:
Die statische Methode ExtensionContext.createExtensionContext() kann verwendet werden, um eine Instanz einer Klasse zu erzeugen.
Die call() Methode kann verwendet werden, um nativ implementierte Methoden ansprechen zu können.
EventListener kann auf die ExtensionContext Instanz gelegt werden, um nach Events zu horchen, welche von der nativen Implementierung ausgelöst werden.
Mit der dispose()-Methode kann die ExtensionContext-Instaz beendet werden.
Es kann Datenaustausch zur nativen Implementierung erfolgen. Es können sämtliche ActionScript-Objekte ausgetauscht werden.
Es kann die getExtensionDirectory()-Methode verwendet werden, um Zugriff auf das Verzeichnis zu bekommen, in welchem die Erweiterung installiert wurde. Alle Informationen und benötigen Ressourcen binden sich in diesem Verzeichnis.
In einem ersten Schritt werden die öffentlichen Schnittstellen definiert. Andere Anwendungen verwenden diese Schnittstellen, um mit Objekten der Klasse interagieren zu können.
Als Beispiel wird hier eine Klasse erstellt, welche es später ermöglicht, den Kanal eines Fernsehers zu ändern. Die ausprogrammierte Klasse „TVChannelController“ befindet sich im Code-Anhang.
1 Einleitung: Die Einleitung motiviert die Verwendung von Laufzeitumgebungen und identifiziert die Notwendigkeit von Native Extensions für den Zugriff auf plattformspezifische Hardwarefunktionen.
2 Grundlagen: Dieses Kapitel liefert eine theoretische Einführung in Rich Internet Applikationen, die Adobe AIR Architektur und vergleicht diese mit der Java Micro Edition.
3 Architektur von Native Extensions: Hier wird der Aufbau von Native Extensions, das Zusammenspiel zwischen ActionScript und nativem Code sowie die notwendigen Systemkomponenten erläutert.
4 Entwicklungsschritte: Dieser Hauptteil beschreibt detailliert den Prozess der Erstellung einer ANE, von der Programmierung in ActionScript, C und Java bis hin zum Verpacken und Signieren der Erweiterung.
5 Praxis-Beispiele: Anhand konkreter Implementierungen für Windows und Android wird die praktische Anwendung der zuvor erlernten Entwicklungsschritte veranschaulicht.
6 Resümee: Das Resümee bewertet den Entwicklungsaufwand und die Flexibilität von ANE im Vergleich zu anderen Ansätzen und gibt einen Ausblick auf das Potential der Technologie.
Adobe AIR, ActionScript, Native Extensions, ANE, Laufzeitumgebung, Java Native Interface, JNI, Rich Internet Application, Cross-Plattform, Software Development Kit, SDK, C-Interface, Android-Implementierung, XML, Descriptor-File
Die Arbeit befasst sich mit dem Konzept der Adobe Native Extensions (ANE), die es ermöglichen, Adobe AIR Anwendungen um Funktionen zu erweitern, die nativen Zugriff auf Betriebssysteme oder Hardware erfordern.
Die Arbeit deckt die theoretischen Grundlagen von Laufzeitumgebungen, die spezifische Architektur von ANE sowie die technische Implementierung in verschiedenen Programmiersprachen wie C und Java ab.
Das Ziel ist es, dem Leser einen detaillierten Leitfaden für den Entwicklungsprozess von nativen Erweiterungen für Adobe AIR zu bieten und die Vor- und Nachteile dieses Konzepts aufzuzeigen.
Die Arbeit basiert auf einer Literaturanalyse zu existierenden Technologien, einer architektonischen Systemanalyse sowie einem praktischen Teil, in dem Implementierungsbeispiele für Windows und Android erstellt wurden.
Der Hauptteil gliedert sich in die detaillierten Entwicklungsschritte, die von der Programmierung der Schnittstellen in ActionScript über die native C- bzw. Java-Implementierung bis hin zum Packaging-Prozess mittels ADT reichen.
Zu den prägenden Begriffen gehören Adobe AIR, Native Extensions (ANE), plattformübergreifende Entwicklung, native Programmierung (C/Java) und die Integration plattformspezifischer Hardware.
Das Descriptor-File ist eine XML-Datei, die Informationen über die Erweiterung enthält, die Zielplattformen definiert und die Verknüpfungen zwischen dem nativen Code und den Initialisierungs- bzw. Finalisierungsmethoden herstellt.
Unter Windows erfolgt die native Implementierung primär in C/C++, während für Android Java als primäre Programmiersprache zum Einsatz kommt, wobei das AIR-SDK entsprechende Schnittstellen für beide Plattformen bereitstellt.
Im Gegensatz zur NativeProcess-Klasse, die einen eigenen externen Prozess startet, läuft eine ANE direkt im selben Prozess wie die AIR-Laufzeitumgebung, was eine engere Integration und Performancevorteile bietet.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

