Bücher online kostenlos Kostenlos Online Lesen
Adobe Air (wiwobooks.com Release)

Adobe Air (wiwobooks.com Release)

Titel: Adobe Air (wiwobooks.com Release)
Autoren:
Vom Netzwerk:
in der Anwendungsentwicklung
    Bei komplexen Programmen, die zur Laufzeit umfangreiche und/oder komplizierte Berechnungen durchführen, spielt naheliegenderweise die Geschwindigkeit bzw. Performance eine große Rolle.
Es liegt auf der Hand, dass Programmcode wesentlich schneller verarbeitet werden kann, wenn er in Maschinencode (also Code, den der Computer, vereinfacht gesprochen, direkt verstehen kann) geschrieben ist und zur Laufzeit nicht erst übersetzt bzw. interpretiert werden muss.
    Kompilieren oder interpretieren?
    Auch wenn umgangssprachlich die Begriffe »übersetzen« und »interpretieren« ähnlich erscheinen mögen, so besteht in der Sprache der Programmierer zwischen dem Kompilieren und Interpretieren von Programmcode ein signifikanter Unterschied. »Kompilieren« meint eine Übersetzung in Maschinencode, der direkt ausgeführt werden kann, und findet daher zur Entwurfszeit statt.»Interpretetieren« hingegen spielt sich zur Laufzeit ab und deutet in der Regel noch in einer abstrakten Programmiersprache vorliegenden Quelltext im Kontext der Laufzeitumgebung. Dabei muss prinzipiell jede auszuführende Zeile des Programmquelltextes erst interpretiert werden.
    Um den Performanceverlust durch Interpretation zu umgehen, verwenden viele Programmiersprachen eine zweistufige Kompilierung: Zur Entwurfszeit wird das Programm in Zwischencode – genannt Bytecode – übersetzt, der zur Laufzeit mithilfe eines JIT-Compilers ( Just-In-Time-Compiler ) in Maschinencodefragmente übersetzt wird. Das bringt einerseits die Performancevorteile von Maschinencode mit sich, andererseits erlaubt es das Cachen von Programmteilen und beschleunigt so zusätzlich die Ausführung des Programms.
    Weitergehende Informationen zum Kompilieren und Interpretieren von Programmiersprachen finden Sie z. B. in der freien Enzyklopädie Wikipedia:
    http://de.wikipedia.org/wiki/Compiler
http://de.wikipedia.org/wiki/Interpreter
http://de.wikipedia.org/wiki/JIT
    http://en.wikipedia.org/wiki/Adobe_Flash_Player
(enthält Informationen zur ActionScript Virtual Machine, die JIT verwendet)
    Verschiedene Rechnerarchitekturen (z. B. 64-Bit- gegenüber 32-Bit-Prozessoren) und Betriebssysteme (z. B. Windows, Mac OS X oder Linux) verlangen nach bzw. liefern unterschiedlichen Maschinencode – der Wunsch, auf diese Weise möglichst hochperformante Anwendungen zu entwickeln, läuft also dem Prinzip der Plattformunabhängigkeit zuwider.
    Plattformunabhängige Anwendungen haben zum Ziel, mit ein und demselben Programmcode auf den verschiedenen Plattformen eine gleichbleibende Funktionalität zu erreichen. Das bedeutet im Umkehrschluss, dass wir auf einen Mechanismus angewiesen sind, der die Unterschiede der verschiedenen Plattformen ausgleicht und gewissermaßen glättet, also eine Art Bühne, auf der unser Programm unbeschwert tanzen kann, ohne sich Gedanken über Unebenheiten machen zu müssen – und genau das stellt eine Laufzeitumgebung dar.
    Laufzeitumgebung als Zwischenschicht
    Neben der Metapher der Bühne ist auch das Bild von Schichten gebräuchlich, wobei die Plattform- bzw. Betriebssystemschicht eine tiefe Schicht, die Programmiersprache eine höhere sowie die Laufzeitumgebung eine mittlere Schicht dazwischen darstellt.
    Die Aufgabe der Laufzeitumgebung ist es also, einem Programm eine möglichst einheitliche Umgebung zur Verfügung zu stellen, vor deren Hintergrund es sodann mit möglichst wenig Portierungsaufwand auf verschiedenen Plattformen und Betriebssystemen laufen kann. Der Portierungsaufwand verlagert sich somit an eine andere Stelle: Eine Softwareschmiede muss dann nicht mehr verschiedene Programmversionen z. B. für Mac, Windows und Linux entwickeln, sondern kann sich damit begnügen, eine bestimmte Laufzeitumgebung anzupeilen.
    Bytecode
    Programmiersprachen, die auf eine Laufzeitumgebung abzielen, wie z. B. Java, kompilieren meist zur Entwurfszeit das Programm in Bytecode, also einen Zwischencode, der von der Laufzeitumgebung nur noch in Maschinencode kompiliert oder direkt interpretiert werden muss. Microsoft geht mit seiner .NET-Plattform einen ähnlichen Weg und bietet für diese Laufzeitumgebung eigene Programmiersprachendialekte wie C#, J# oder JScript an, die jeweils in einen Zwischencode übersetzt und zur Laufzeit von der .NET-Laufzeitumgebung ausgeführt werden.
    Auch der Flash Player, das Herzstück von Adobes Flash-Plattform, bedient sich zur Ausführung von ActionScript 3-Inhalten eines JIT-Compilers (siehe oben im Kasten
Vom Netzwerk:

Weitere Kostenlose Bücher