关于本机扩展

什么是 Adobe AIR?

Adobe® AIR® 是一种跨操作系统的运行时,内容开发人员可以使用它构建丰富 Internet 应用程序 (RIA)。开发人员可以将 RIA 部署到桌面、移动设备和数字家庭设备。可以使用 Adobe® Flex® 和 Adobe® Flash®(基于 SWF)也可以使用 HTML、JavaScript 和 Ajax(基于 HTML)构建 AIR 应用程序。有关可用于构建 AIR 应用程序的 Adobe Flash Platform 工具的详细信息,请参阅 构建 Adobe AIR 应用程序 中的 适用于 AIR 开发的 Adobe Flash Platform 工具

什么是 Adobe ActionScript?

基于 SWF 的 AIR 应用程序可以使用 Adobe ActionScript® 3.0。ActionScript 3.0 是一种面向对象的语言,可以为 RIA 添加交互和数据处理功能。有关该语言的详细信息,请参阅 学习使用 ActionScript 3.0 ActionScript 3.0 开发人员指南

ActionScript 提供了许多内置类。例如,MovieClip、Array 和 NetConnection 都是内置 ActionScript 类。此外,内容开发人员还可以创建特定于应用程序的类。有时,可以从内置类派生出特定于应用程序的类。

运行时执行 ActionScript 类中的代码。运行时还执行在基于 HTML 的应用程序中使用的 JavaScript 代码。

什么是本机扩展?

本机扩展是以下各项的组合:

  • ActionScript 类。

  • 本机代码。在本文档中,本机代码定义为在运行时外部执行的代码。例如,使用 C 语言编写的代码就是本机代码。在一些平台上,支持在扩展中使用 Java 代码。对于本文档,这些代码也将视为“本机”代码。

编写本机扩展的原因如下:

  • 本机代码实现提供对特定于设备的功能的访问。这些特定于设备的功能在内置 ActionScript 类中不可用,也无法在特定于应用程序的 ActionScript 类中实现。本机代码实现可以提供此类功能,因为它可以访问特定于设备的硬件和软件。

  • 本机代码实现有时可能比仅使用 ActionScript 的实现速度更快。

  • 本机代码实现允许您重复使用现有代码。

例如,您可以创建一个本机扩展,允许应用程序执行以下操作:

  • 使移动设备振动。

  • 与特定于设备的库和功能交互。

在完成 ActionScript 和本机实现后,便可以打包您的扩展。然后,AIR 应用程序开发人员可以使用该包来调用此扩展的 ActionScript API,以执行特定于设备的功能。该扩展与 AIR 应用程序运行在同一进程中。

本机扩展与 NativeProcess ActionScript 类

ActionScript 3.0 提供了一个 NativeProcess 类。此类允许 AIR 应用程序在主机操作系统上执行本机进程。此功能与本机扩展的功能类似,后者提供对特定于设备的功能和库的访问。在决定使用 NativeProcess 类还是创建本机扩展时,请考虑以下因素:

  • 只有 extendedDesktop AIR 配置文件支持 NativeProcess 类。因此,对于使用 AIR 配置文件 mobileDevice extendedMobileDevice 的应用程序,本机扩展是唯一选择。

  • 本机扩展开发人员通常为各种平台提供本机实现,但其提供的 ActionScript API 在各平台上通常相同。使用 NativeProcess 类时,不同平台上启动本机进程的 ActionScript 代码可能会不同。

  • NativeProcess 类启动一个单独的进程,而本机扩展与 AIR 应用程序运行在同一进程中。因此,如果担心代码崩溃,则使用 NativeProcess 类比较安全。不过,单独的进程意味着可能需要实现进程间的通信处理。

本机扩展与 ActionScript 类库(SWC 文件)

本机扩展与 SWC 文件最重要的区别是 SWC 文件不包含本机代码。因此,如果您确定不使用本机代码可以实现目标,请使用 SWC 文件而不使用本机扩展。

支持的设备

可为以下设备创建本机扩展:

  • Android 设备,从 AIR 3 和 Android 2.2 开始。

  • iOS 设备,从 AIR 3 和 iOS 4.0 开始

  • iOS Simulator,从 AIR 3.3 开始

  • Blackberry PlayBook,从 AIR 2.7 开始

  • 支持 AIR 3.0 的 Windows 桌面设备

  • 支持 AIR 3.0 的 Mac OS X 桌面设备

一个扩展可以面向多种平台。有关详细信息,请参阅 面向多种平台

支持的设备配置文件

以下 AIR 配置文件支持本机扩展:

  • extendedDesktop ,从 AIR 3.0 开始

  • mobileDevice ,从 AIR 3.0 开始