Adobe AIR和iPhone – 它是如何工作的?

任何人都知道Adobe AIR应用程序如何转换为iPhone应用程序? 我看到两种方式 – Adob​​e AIR虚拟机应该是每个应用程序的一部分,或者它们必须以某种方式将所有ActionScript调用转换为Cocoa Touch调用,或者为每个ActionScript类都有一个Objective-C对,然后将其编译为ARM汇编程序。

我很好奇它是如何在技术上完成的。

BR STeN

与其他平台不同,Adobe Air在构建iOS应用程序时会编译为本机代码。

以下是Adobe 博客文章的一部分:

我们创建了一个新的编译器前端,允许LLVM理解ActionScript 3并使用其现有的ARM后端来输出本机ARM汇编代码 。 我们称之为Ahead of Time(AOT)编译 – 与Adobe Flash Player和Adobe AIR使用即时(JIT)编译在桌面上的function形成对比 。 由于我们能够提前将ActionScript编译到ARM,因此应用程序可以获得JIT提供的所有性能优势以及在最终应用程序中不需要运行时的许可证合规性。

这意味着:

  1. Air运行时未打包在应用程序中。

  2. AS3代码不会转换为Objective-C代码,而是直接编译为本机汇编代码。

取自adobe网站: http : //www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.edu.html

请注意,使用AIR定位iOS时,捕获运行时是唯一可用的选项。 由于iOS不支持共享运行时模型,因此强制模型仍然是此平台上的唯一选项。

使用强制运行时的任何人都应该意识到它有两个缺点:

增加应用程序大小。 由于运行时的整个副本都包含在您的应用程序中,因此必须增加应用程序包的大小。

增加了安全负担。