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

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

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

BR Стен

Ответ 1

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

Вот часть сообщения в блоге от Adobe:

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

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

  • Время выполнения Air не упаковано в приложении.

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

Ответ 2

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

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

Любой, кто использует текущую рабочую среду, должен знать, что он имеет два нижних уровня:

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

Увеличение бремени безопасности.