Adobe AIR SDK 和 Flex SDK 的关系? [英] Relationship of Adobe AIR SDK and Flex SDK?

查看:71
本文介绍了Adobe AIR SDK 和 Flex SDK 的关系?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试弄清 Flash 平台的整个混乱情况(主要是为了让我理解被抛出的术语),到目前为止,我还无法弄清楚 AIR 和 Flex SDK 到底是怎样的有关的.在没有实际查看 SDK 的情况下,我的理解是 AIR 使您能够开发 Flash(即 ActionScript,显然还有 JavaScript/HTML)应用程序,这些应用程序可以由 AIR 运行时运行而无需浏览器(例如纯桌面或智能手机应用程序).Flex SDK 似乎是用于扩展标准"Flash 库的类和附加 API(类似于 JavaFX?)的集合.

I'm trying to make sense of the whole mess of the Flash platform (mainly so I understand the terms being thrown around) and so far, I haven't been able to figure out how exactly the AIR and Flex SDKs are related. Without actually having looked at the SDKs, 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). The Flex SDK appears to be a collection of classes and additional APIs (similar to JavaFX?) to extend the "standard" Flash library.

现在,我已经下载了两个 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 文件,这可能吗?

Now, I've downloaded the most recent versions of both SDKs, and apparently, it's not that simple. So, first I looked at the AIR SDK (http://www.adobe.com/devnet/air/air-sdk-download.html, v3.4 as of now). As far as I can tell, the "adt" utility is the main part of AIR that lets you package finished applications. However, I'm not sure if the AIR SDK actually includes a compiler – say you have a bunch of ActionScript .as files and want to turn them into a .swf or .air file using the AIR SDK, is that even possible?

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 的一些旧版本.

The Flex SDK (http://www.adobe.com/devnet/flex/flex-sdk-download.html, v4.6 as of now) unfortunately didn't help with the confusion. It does include compilers and other tools, but in its "bin" folder, I could also find "adt" and "adl" – the AIR tools! What's more, it also has "AIR SDK license.pdf" and "AIR SDK readme.txt" files; judging from those, it appears that the Flex SDK includes some older version of the AIR SDK version 2.

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

To make things even more confusing, I also found a "combined version of the Flex and AIR® SDKs (Flex SDK 4.6.0.23201 and AIR 3.4.0.2540 SDK)" on Adobe's site (http://gaming.adobe.com/getstarted/). It seems that this wasn't merely created by copying the AIR 3.4 files to the Flex 4.6 files, adding yet another item to the list.

所以,本质上,我想知道这两个(三个?)SDK 之间的区别.我需要 Flex 实用程序来编译吗?为什么纯"Flex SDK 包含部分 (?) AIR?我可以将任何版本的 AIR SDK 复制到 Flex SDK 中以同时使用它们吗?FlashDevelop?

So, essentially, I'd like to know the differences between these two (three?) SDKs. Would I need the Flex utilities to compile? Why does the "pure" Flex SDK include parts (?) of AIR? Could I just copy any version of the AIR SDK into a Flex SDK to use both with e.g. FlashDevelop?

推荐答案

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

从封装的角度来看,它们没有任何关系.但是,Adobe 会随其 Flex SDK 版本一起分发 AIR SDK.

From an encapsulation perspective, they aren't related in any way. However, Adobe does distribute the AIR SDK with their versions of the Flex SDK.

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

When using an IDE, such as Flash Builder, a certain directory structure is expected, which includes the AIR SDK in a subdirectory of the Flex SDK.

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

When using Apache Flex, Apache does not have the rights to distribute the AIR SDK, so it is up to the user to combine the AIR SDK and Flex SDK in a way that makes it easy to use the SDK with Flash Builder. However, the Apache Flex folks are working on an "easy install" tool to prepare the Apache Flex SDK for use with Flash Builder. The tool downloads all the relevant non-Apache binaries and provides you with a finished package.

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

It is perfectly valid to use the Flex UI Framework without AIR; and to use the AIR SDK without Flex. However, in the Flex SDK, specifically in the mobile component set, I believe there are some dependencies to the AIR SDK. And to use AIR, you will need something to compile it. MXMLC from the Flex SDK is one option.

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

I'm going to attempt to answer some of your specific questions:

我的理解是 AIR 使您能够开发 Flash(即 ActionScript,显然还有 JavaScript/HTML)应用程序可以由 AIR 运行时运行而无需浏览器(例如作为纯桌面或智能手机应用程序).

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 在设备上使用浏览器.

This is true; except I do not believe that AIR has HTML/JS support for smartphones in the same way it does on the desktop. The Mobile AIR Runtime does not include an embedded browser like the desktop version does. However, you can make use of the browser on the device using StageWebView.

Flex SDK 似乎是类和附加 API 的集合...扩展标准"Flash 库.

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 框架,还包括调试器和命令行编译器的单步调试.

This is correct. The Flex Framework provides a lot of UI Component classes, in addition to a framework for building your own UI Classes. To be clear, the Flex SDK includes more than just the Flex Framework, including a step through debugger and the command line compiler.

似乎 Flex SDK 包含一些旧版本的 AIR开发工具包

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 上.以下是一些说明.我忘记了 Adob​​e Flex 4.6 中包含的 AIR 版本,但我认为它是 AIR 3.2.AIR 3.4 是 Adob​​e 的最新版本.

This is true; the Flex SDK includes a version of the AIR SDK. Flex and AIR are not on the same update schedule; so Flex would only get updated w/ the latest version of AIR when a new Flex release comes out. There are ways to overlay a new Air SDK onto a Flex SDK if you need it. Here are some instructions. I forget the version of AIR included in Adobe Flex 4.6, but I think it is AIR 3.2. AIR 3.4 is the latest from Adobe.

值得注意的是,Flex 已捐赠给 Apache 基金会;他们已经发布了 Apache Flex 4.8.

It is worth noting that Flex has been donated to the Apache Foundation; and they have already released Apache Flex 4.8.

我需要编译 Flex 实用程序吗?

Would I need the Flex utilities to compile?

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

I'm not entirely clear on the answer to this. Most people use MXMLC from the Flex SDK to compile AIR based applications. Even if you use Flash Builder, MXMLC is used under the hood. If you use Flash Professional, I believe it has it's own AIR Compiler but I do not know if it is based on MXMLC. Flash Builder 4.7 will include a brand new compiler--code named Falcon.

我可以将任何版本的 AIR SDK 复制到 Flex SDK 中使用吗?两者都与例如FlashDevelop?

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

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

In theory yes. I don't know anything about FlashDevelop, however I did understand it had support for Flex. I assume, by extension, it also has support for AIR.

这篇关于Adobe AIR SDK 和 Flex SDK 的关系?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆