flash - Adobe AIR SDK 和 Flex SDK 的关系?

标签 flash apache-flex sdk air flashdevelop

我试图弄清 Flash 平台的整个困惑(主要是为了让我理解被抛出的术语),到目前为止,我还无法弄清楚 AIR 和 Flex SDK 究竟是如何相关的。如果没有实际查看 SDK,我的理解是 AIR 使您能够开发可以由 AIR 运行时运行而无需浏览器(例如纯桌面或智能手机应用程序)。 Flex SDK 似乎是类和附加 API(类似于 JavaFX?)的集合,用于扩展“标准”Flash 库。

现在,我已经下载了这两个 SDK 的最新版本,显然,事情没那么简单。因此,首先我查看了 AIR SDK(http://www.adobe.com/devnet/air/air-sdk-download.html,截至目前为 v3.4)。据我所知,“adt”实用程序是 AIR 的主要部分,可让您打包完成的应用程序。但是,我不确定 AIR SDK 是否真的包含编译器 - 假设您有一堆 ActionScript .as 文件并想使用 AIR SDK 将它们转换为 .swf 或 .air 文件,这是否可能?

不幸的是,Flex SDK(http://www.adobe.com/devnet/flex/flex-sdk-download.html,目前为 v4.6)并没有帮助解决困惑。它确实包括编译器和其他工具,但在它的“bin”文件夹中,我还可以找到“adt”和“adl”——AIR 工具!更重要的是,它还有“AIR SDK license.pdf”和“AIR SDK readme.txt”文件;从这些来看,Flex SDK 似乎包含一些旧版本的 AIR SDK 版本 2。

更令人困惑的是,我还在 Adob​​e 的网站 (http://gaming.adobe.com/getstarted/) 上找到了“Flex 和 AIR® SDK 的组合版本(Flex SDK 4.6.0.23201 和 AIR 3.4.0.2540 SDK)”。似乎这不仅仅是通过将 AIR 3.4 文件复制到 Flex 4.6 文件、向列表中添加另一个项目来创建的。

所以,本质上,我想知道这两个(三个?)SDK 之间的区别。我需要 Flex 实用程序来编译吗?为什么“纯”Flex SDK 包含 AIR 的部分(?)?我可以将任何版本的 AIR SDK 复制到 Flex SDK 中以与例如两者一起使用吗?闪存开发?

最佳答案

I haven't been able to figure out how exactly the AIR and Flex SDKs are related.


从封装的角度来看,它们没有任何关系。但是,Adobe 确实将 AIR SDK 与他们的 Flex SDK 版本一起分发。

使用 IDE(例如 Flash Builder)时,需要特定的目录结构,其中包括 Flex SDK 的子目录中的 AIR SDK。

使用 Apache Flex 时,Apache 没有分发 AIR SDK 的权利,因此用户可以将 AIR SDK 和 Flex SDK 结合起来,以便于将 SDK 与 Flash Builder 一起使用。但是,Apache Flex 人员正在开发一种“易于安装”工具来准备 Apache Flex SDK 以与 Flash Builder 一起使用。该工具会下载所有相关的非 Apache 二进制文件,并为您提供一个完整的包。

在没有 AIR 的情况下使用 Flex UI 框架是完全有效的;并在没有 Flex 的情况下使用 AIR SDK。但是,在 Flex SDK 中,特别是在移动组件集中,我相信对 AIR SDK 存在一些依赖关系。要使用 AIR,您需要一些东西来编译它。 Flex SDK 中的 MXMLC 是一种选择。

我将尝试回答您的一些具体问题:

My understanding would have been that AIR enables you to develop Flash (i.e. ActionScript, and apparently also JavaScript/HTML) applications that can be run by the AIR runtime without the need of a browser (such as a pure desktop or smartphone application).



这是真的;除了我不相信 AIR 像在桌面上那样支持智能手机的 HTML/JS。 Mobile AIR Runtime 不像桌面版本那样包含嵌入式浏览器。但是,您可以使用 StageWebView 使用设备上的浏览器。

The Flex SDK appears to be a collection of classes and additional APIs ...to extend the "standard" Flash library.



这是对的。除了用于构建您自己的 UI 类的框架之外,Flex 框架还提供了许多 UI 组件类。需要明确的是,Flex SDK 不仅包括 Flex 框架,还包括一步调试器和命令行编译器。

it appears that the Flex SDK includes some older version of the AIR SDK



这是真的; Flex SDK 包含一个 AIR SDK 版本。 Flex 和 AIR 不在同一个更新时间表上;所以 Flex 只有在新的 Flex 版本发布时才会使用最新版本的 AIR 进行更新。如果您需要,有多种方法可以将新的 Air SDK 叠加到 Flex SDK 上。 Here are some instructions .我忘记了 Adob​​e Flex 4.6 中包含的 AIR 版本,但我认为它是 AIR 3.2。 AIR 3.4 是 Adob​​e 的最新版本。

值得注意的是,Flex 已捐赠给 Apache Foundation ;他们已经发布了 Apache Flex 4.8。

Would I need the Flex utilities to compile?



我对这个问题的答案并不完全清楚。大多数人使用 Flex SDK 中的 MXMLC 来编译基于 AIR 的应用程序。即使您使用 Flash Builder,MXMLC 也会在后台使用。如果您使用 Flash Professional,我相信它有自己的 AIR 编译器,但我不知道它是否基于 MXMLC。 Flash Builder 4.7 将包括一个全新的编译器——代号为 Falcon。

Could I just copy any version of the AIR SDK into a Flex SDK to use both with e.g. FlashDevelop?



理论上是的。我对 FlashDevelop 一无所知,但我确实知道它支持 Flex。我假设,通过扩展,它也支持 AIR。

关于flash - Adobe AIR SDK 和 Flex SDK 的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12554447/

相关文章:

java - 我可以在 android studio 中使用过时版本的 SDK 构建工具吗?

java - 通过套接字发送的字符串与应有的内容不匹配

apache-flex - 带有中继器的 Flex ViewStack - 中继器放置在底部

java - flashvars 对象在 mozilla 浏览器中无法工作

android - 尝试为 Android 应用程序导出签名包时出现错误 "setTestClassesDir(File) method has been deprecated"

android - 如何在打开防病毒软件的情况下安装 Android SDK?

flash - Flash Lite有什么用,这个和Flash Action Script一样吗

html - 通过设备摄像头录制视频和音频

asp.net - 可换肤的音频播放器(或类似于任务栏中的Windows Vista音频控件的东西)-适用于Web

database - AIR:通过网络连接到数据库?