Adobe AIR и iPhone-как это работает?

кто-нибудь знает, как приложение Adobe AIR преобразуется в приложения для iPhone? Я вижу два способа - либо виртуальная машина Adobe AIR Mus является частью каждого приложения, либо они должны каким-то образом преобразовать все вызовы ActionScript в вызовы Cocoa Touch или иметь двойник Objective-C для каждого класса ActionScript, а затем скомпилировать его в ARM assembler.

Мне просто интересно, как это технически делается.

BR Стэн!--1-->

2 ответов


В отличие от других платформ, Adobe Air компилируется в собственный код при создании приложения iOS.

вот часть блоге от Adobe:

мы создали новый передний конец компилятора, который позволил LLVM понять ActionScript 3 и использовал его существующий задний конец ARM для выведите собственный код сборки ARM. Мы называем это Ahead Of Time (AOT) compilation-в отличие от Adobe Flash Player и Adobe AIR функция на рабочем столе с помощью Just In Time (JIT) компиляции. Поскольку мы можем скомпилировать ActionScript для ARM раньше времени, приложение получает все преимущества производительности, которые предлагает JIT, и соответствие лицензии не требует выполнения в конечном приложении.

Это означает, что:

  1. среда выполнения Air не упакована в приложение.

  2. код AS3 не преобразуется в код Objective-C, но компилируется непосредственно в собственный код сборки.


взято с веб-сайта adobe: http://www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.edu.html

обратите внимание, что captive runtime является единственным вариантом, доступным при использовании AIR для целевой iOS. Поскольку iOS не поддерживает общую модель выполнения, модель captive остается единственным вариантом на этой платформе.

любой, кто использует captive runtime, должен знать, что у него есть два недостатка:

увеличение размер приложения. Поскольку в приложение включена полная копия среды выполнения, размер пакета приложения обязательно увеличивается.

повышенное бремя безопасности.