2012-03-28 5 views
10

Weiß jemand, wie die Adobe AIR-Anwendung in iPhone-Apps umgewandelt wird? Ich sehe zwei Möglichkeiten - Entweder muss die virtuelle Maschine Adobe AIR Teil jeder Anwendung sein oder sie muss alle ActionScript-Aufrufe irgendwie in Cocoa Touch-Aufrufe konvertieren oder ein Objective-C-Twin für jede ActionScript-Klasse haben und dann zu ARM-Assembler kompilieren.Adobe AIR und iPhone - wie es funktioniert?

Ich bin nur neugierig, wie es technisch gemacht wird.

BR Sten

Antwort

11

Im Gegensatz zu anderen Plattformen ist Adobe Air in nativen Code kompiliert, wenn Sie eine iOS-Anwendung erstellen.

Hier ist ein Teil eines blog post von Adobe:

Wir haben eine neue Compiler Frontend erstellt, die LLVM 3 Actionscript erlaubt zu verstehen und verwendet seine bestehenden ARM-ARM-Assembler-Code Ausgang Ende zurück. Wir nennen das Ahead of Time (AOT) -Kompilierung - im Gegensatz zu Adobe Flash Player und Adobe AIR auf dem Desktop mit Just in Time (JIT) -Kompilierung. Da wir in der Lage sind, ActionScript zu ARM im Voraus zu kompilieren, erhält die Anwendung alle Leistungsvorteile, die der JIT bietet, und die Lizenzkonformität von , die in der endgültigen Anwendung keine Laufzeit benötigt.

Das bedeutet, dass:

  1. Die Air-Laufzeit nicht innerhalb der Anwendung verpackt wird.

  2. AS3-Code wird nicht in Objective-C-Code konvertiert, sondern direkt in systemeigenen Assemblercode kompiliert.

+0

Hallo, siehe Adrian Pirvulescu Post - wir haben vorgeschlagen, dass es einen Laufzeitteil der Anwendung gibt, genau das Gegenteil du sagst ":) – STeN

+0

@STeN - Leider ist das nicht wahr für iOS aufgrund von Apple Einschränkungen. Und ich bin es nicht Das ist Adobe: ** "benötigt keine Laufzeit in der endgültigen Anwendung" **. – sch

+0

Bedeutet dies, dass UI-Komponenten, die ich in Adobe AIR verwenden werde, ihre "Spiegelung" in einigen Adobe Objective-C-Bibliotheken haben Ich nehme an, sie können die Cocoa Touch iOS UI-Komponenten nicht verwenden. – STeN

1

von Adobe Website genommen: http://www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.edu.html

Beachten Sie, dass die gefangene Laufzeit ist die einzige Option, die verfügbar ist, wenn AIR iOS Ziel verwenden. Da iOS kein freigegebenes Laufzeitmodell unterstützt, bleibt das Captive-Modell die einzige Option auf dieser Plattform.

Wer die unverlierbare-Laufzeit sollten sich bewusst sein, dass es zwei Nachteile hat:

Erhöhter Anwendungsgröße. Da eine vollständige Kopie der Laufzeit in Ihrer Anwendung enthalten ist, wird die Größe des Anwendungspakets notwendigerweise erhöht.

Erhöhte Sicherheitslast.