2012-03-28 17 views
10

Qualcuno sa come l'applicazione Adobe AIR viene convertita in app per iPhone? Vedo due modi: o la macchina virtuale Adobe AIR deve essere parte di ogni applicazione o devono convertire tutte le chiamate ActionScript in chiamate Cocoa Touch in qualche modo o avere un gemello Objective-C per ogni classe ActionScript e quindi compilarle nell'assemblatore ARM.Adobe AIR e iPhone - come funziona?

Sono solo curioso di sapere come è fatto tecnicamente.

BR Sten

risposta

11

differenza di altre piattaforme, Adobe AIR è compilato in codice nativo quando si crea un'applicazione iOS.

Ecco una parte di un blog post da Adobe:

abbiamo creato un nuovo front-end del compilatore che ha permesso LLVM per capire ActionScript 3 e usato il suo braccio esistente back-end per uscita ARM nativo codice assembly. Chiamiamo questa compilation Ahead of Time (AOT) , in contrasto con il modo in cui Adobe Flash Player e Adobe AIR funzionano sul desktop utilizzando la compilation Just in Time (JIT). Poiché siamo in grado di compilare ActionScript su ARM in anticipo, l'applicazione ottiene tutti i vantaggi in termini di prestazioni offerti dal JIT e la conformità della licenza di non richiede un runtime nell'applicazione finale.

Ciò significa che:

  1. Il runtime Air non è confezionato all'interno dell'applicazione.

  2. Il codice AS3 non viene convertito in codice Objective-C, ma è compilato direttamente nel codice assembly nativo.

+0

Ciao, guarda Adrian Pirvulescu post - abbiamo suggerito che c'è una parte runtime dell'applicazione, esattamente l'opposto stai dicendo ":) – STeN

+0

@STeN - Sfortunatamente non è vero per iOS a causa delle restrizioni di Apple. dicendo che :) è Adobe: ** "non richiede un runtime nell'applicazione finale" **. – sch

+0

Ciò significa che i componenti dell'interfaccia utente che utilizzerò in Adobe AIR avranno il loro "mirror" in una libreria Adobe Objective-C che essere aggiunto alla mia applicazione? Suppongo che non possano utilizzare i componenti dell'interfaccia utente Cocoa Touch per iOS – STeN

1

presi dal sito Web di Adobe: http://www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.edu.html

Nota che il runtime prigioniero è l'unica opzione che è disponibile quando si utilizza AIR per indirizzare iOS. Poiché iOS non supporta un modello runtime condiviso, il modello captive rimane l'unica opzione su questa piattaforma.

Chiunque utilizzi il runtime prigioniero deve essere consapevole che ha due aspetti negativi:

aumento delle dimensioni delle applicazioni. Poiché un'intera copia del runtime è inclusa nell'applicazione, la dimensione del pacchetto dell'applicazione è necessariamente aumentata.

Onere di sicurezza aumentato.

Problemi correlati