`
sooxin
  • 浏览: 257154 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Adobe AIR 3新特性

 
阅读更多

自从2008年发布了第一个版本,Adobe AIR已经走过了很长的一段路。在此期间,我们为AIR增加了几十个较大的特性,上百个较小的特性,性能优化和错误修复,并且我们支持3个额外的平台:iOS (iPhoneiPad),Android, 和Adobe AIR for TV.

AIR 3将是我们在不到两年半的时间里的第11个发行版本。虽然我们每次的发行版都代表了很大的进步,但我个人觉得这次是非比寻常的。AIR 3包括以下新的API和特性:

 

  • Stage3D(桌面特性)。Stage3D是一个底层的,具备硬件加速的二维和三维渲染的 API。对于AIR 3,目前这些API只能在AIR的桌面版本中使用,然而,未来这些特性也将进入移动设备。Stage3D是一个非常重要的特性,它的意义之大让我们感到言语都难以描述,您可以从这里得到更加详细的信息, 请参阅Stage 3D页面。
     
  • 本地扩展 (所有平台)。这又是一个重要的特性。从AIR 3的版本开始,开发者可以通过绑定本地扩展和应用程序,来增强AIR运行时的功能,然后他们就可以在ActionScript中调用那些扩展(这个特性原先只在Adobe AIR 2.5 for TV中存在,但是基于AIR 3,这个特性在所有的平台可用)。您可以认为Adobe AIR本地扩展(简称ANEs)就是ActionScript库(SWCs),只不过是包含了本机代码实现。ANEs的适用场合,包括让您的应用程序访问 AIR所不支持的原生API(见下面的例子),并授权在某些情况下访问本机代码,以达到更好的性能。关于更多AIR 3本地扩展的信息,请参阅奥利弗.高盛的这篇文章:扩展Adobe AIR
     
  • Android Market的授权集成 (显然只支持Android)。使用ANE文件,开发人员可以访问Android Market的授权服务,让发布者执行许可政策。这是一个能体现ANE强大特性的很好的例子:因为这个特性(授权服务)在iOS中是不可用的,所以我们不会把它作为AIR的直接支持的功能;但是,ANE可以保证我们运行于Android设备的AIR应用可以很轻松的访问这些API。
     
  • 运行时捆绑 (Android和桌面)。在之前的版本中,需要您的最终用户在安装您的应用之前,已经安装了AIR的运行时(如果没有,则必须先安装AIR运行时),如果您想改变这个过程(让您的应用程序安装过程和其它本地安装的应用程序没有区别),或者您是想控制您的应用程序运行所需的AIR版本,AIR 3允许您捆绑AIR运行时和您的应用程序。捆绑运行时非常容易,当您构建一个Android应用时可以设置apk-captive-runtime变量,如果是构建桌面应用,则可以设置bundle变量。(注意在iOS上AIR一直使用一个捆绑的运行时,虽然其机制不太相同。)
     
  • 背景音频播放 (对于iOS是新特性;在Android上之前就被支持了)。由于iOS独特的多任务模式,在之前如果我们想在AIR应用处于非活动状态的时候继续播放音频,是不可能的。在AIR 3中,您所需要做的只是修改您的应用程序描述文件,声明您需要播放背景音乐,然后它会自动工作。(基本上,当应用程序被放置到后台程序中,它将继续运行。但是,所有的屏幕更新将被禁用,以保持电池寿命,并符合iOS的多任务要求。)
     
  • iPad对CameraRoll的支持。虽然CameraRoll在技术上已经被iPad支持,但是我们在AIR 3中增加了很多更好的支持。在iPad上,图片选择器不再占用整个屏幕,在iPhone和iPod touch上也是如此。相反,它会在调用它的UI组件的相对位置上,出现一个浮动的面板。使用额外的CameraRollBrowseOptions类,开发人员可以选择图像选择器的大小和位置,并指定调用它的UI组件的位置。欲了解更多信息和代码示例,请参阅我的博客文章, 如何正确使用iPad上的CameraRoll API 。
     
  • 视频硬件加速 (移动设备):AIR 2.5通过StageVideo为TV带来了视频硬件加速;现在AIR 3则为移动设备也提供了StageVideo。
     
  • 本机文本字段(移动设备) 。之前版本的AIR提供给开发者访问底层渲染的能力,比如StageVideo (视频硬件加速)和StageWebView (本地的HTML渲染)。AIR 3提供了StageText的API,它允许开发人员将系统原生的文本字段放置在移动应用程序中。虽然您仍然可以使用Flash文本字段,但是 StageText文本字段可以使用所有操作系统底层支持的特性,比如放大镜,文本选择,自动更正等等。
     
  • 前置摄像头支持 (iOS和Android)。现在ActionScript的摄像头API可以访问 iOS和Android设备的前置摄像头和后置摄像头(如果是Android设备,至少需要2.3的版本)。您可以使用新的 Camera.position属性以及新CameraPosition类中的常量(背部,正面,和UNKNOWN)来确定摄像机的位置。欲了解更多信息和代码示例,请参阅我的博客文章, AIR 3前置摄像头支持 。
     
  • 移动设备的加密本地存储(带来了台式机和移动设备之间的等价实现)。EncryptedLocalStore的API曾经只在桌面上可用,现在则进入了iOS和Android。这个API用于安全地存储用户凭据,加密密钥,私密信息,和类似的重要信息。
     
  • 设备扬声器控制 (移动设备)。使用新的SoundMixer audioPlaybackMode属性,和新的AudioPlaybackMode类中的常量(媒体和语音),开发人员可以控制是否是通过电话的听筒或扬声器播放音频。
     
  • 原生JSON支持 (移动和台式机)。原先只能使用ActionScript来解析JSON,现在则是由运行时提供更有效的原生JSON支持。相对于ActionScript实现,原生的JSON API的速度更快,使用更少的内存。欲了解更多信息和代码示例,请参阅我的博客文章, AIR 3中的原生JSON支持 。
     
  • 套接字(Socket)改进(移动和桌面)。曾经我们认为应该很容易的通过 ProgressEvent.SOCKET_DATA来读取从网络传到ActionScript套接字缓冲区的数据,并确定有多少个字节可供读取(Socket.bytesAvailable)。然而,事实尚非如此。换句话说,在AIR 3之前,没有办法知道有多少数据从ActionScript套接字成功地写入了网络的缓冲区,也不可能知道有多少数据正在等待被写入。这导致开发者不确定调用套接字的关闭是否是安全的,或知道当用户想关闭应用程序的时候,是否有一个网络进程还在处理中。通过AIR 3,开发人员可以使用OutputProgressEvent.OUTPUT_PROGRESS事件和Socket新属性.bytesPending,以确定有多少数据被写入到网络,多少数据在ActionScript套接字中仍在等待写入。这些新的API可以帮助我们构建更强壮的依赖套接字网络访问的应用程序。欲了解更多信息和代码示例,请参阅我的博客文章, AIR 3中套接字的改进 。
     
  • H.264视频编码 (桌面)。您可以将摄像头捕获的视频基于H.264进行编码。
     
  • JPEG XR的支持 (移动和台式机)。AIR 3现在支持JPEG XR,一个新的文件格式,相比JPEG有几个优点。例如,JPEG XR提供了更好的压缩率,更小的压缩损失,更准确的色彩,和Alpha透明度。欲了解更多信息,请查阅Wikipedia上的JEPG XR文章
     
  • 更高分辨率的位图(移动和桌面) 。在之前的AIR中,位图被限制为16万像素(16777215像素)和8191的最大宽度/高度。在AIR 3中,所有的限制已被删除,这意味着现在的最大尺寸是由主机操作系统决定的,而不是AIR限制的。
     
  • 多声道数字音频输出 (只支持AIR for TV)。现在电视上的Adobe AIR可以播放杜比数字+ 5.1环绕声和DTS 5.1音频流。新的Capabilities.hasMultiChannelAudio属性,新的AudioDecoder类(其中包含代表几个不同的多声道音频类型的常量),和Capabilities.serverString属性,都可以让开发者来检测设备的多声道音频功能,并从 ActionScript中通过RTMP协议输出正确的音频比特流。
     
  • 高级控制器支持 (只支持AIR for TV)。使用新的GameInput API,开发人员可以构建基于高级电视控制器的游戏。一些新的API允许枚举设备(可用控制器),枚举设备的控制功能(按钮,触发器,加速度等),并从设备中得到控制值。
     
  • 更容易删除一个容器的所有的子元件 (所有平台)。DisplayObjectContainer现在已经具备了removeChildren()函数,它可以只用一个方法删除所有的子元件。这当然比下面的操作更有效:
    (this.numChildren> 0)this.removeChildAt(0)
     
  • 更容易判断MovieClip是否在播放 (所有平台)。通过使用新的isPlaying属性,可以很容易判断一个电影剪辑是否在播放。
     
  • GC建议的API(所有平台)。新的System.pauseForGCIfCollectionImminent功能,可以让AIR开发人员更好地控制运行时的自动垃圾回收机制。由于垃圾回收有可能造成动画或音频的暂停,开发者可以在用户难以察觉的时候,使用这个方法鼓励垃圾回收。
     
  • 安全随机数生成 (移动和桌面)。Adobe AIR中一直有Math.random方法可用,返回“伪随机”的数字,也就是说,这似乎是随机的,但总是包含一些非随机性(比如时间戳)的数字。AIR 3提供了一个用于生成随机数的新方法,称为generateRandomBytes(),位于flash.crypto包。由于 generateRandomBytes()函数使用操作系统API来产生随机数(在Windows上是CryptGenRandom ,在OSX上是/dev/random , 在Android上是/dev/urandom, 在iOS上则是SecRandomCopyBytes),由此产生的随机数更有效,更安全。
     
  • 三次贝塞尔曲线 (所有平台) 。新的cubicCurveTo()方法是Graphics类的功能,允许您以编程方式绘制三次贝塞尔曲线,而且不使用第三方ActionScript代码。

Adobe AIR 3作为一个候选发布版可以在Adobe实验室中找到 。
分享到:
评论

相关推荐

    adobe air runtime version 33.1.1.744 for Mac

    在压缩包文件名称"AdobeAIR-Runtime-Mac-v33.1.1.744"中,我们可以推断出这个压缩文件包含了Adobe AIR运行时的安装程序,专为Mac用户设计,并且是版本33.1.1.744。 安装Adobe AIR运行时后,开发者可以使用Adobe ...

    adobe air runtime version 33.1.1.744 for windows

    Adobe AIR runtime 33.1.1.744的文件名"AdobeAIR-runtime-Windows-v33.1.1.744"表明这是专为Windows设计的,文件包含了所有必要的组件,使得用户能够在Windows系统上顺畅地运行AIR应用。 使用Adobe AIR开发的应用...

    Adobe Air Programming Unleashed

    - **跨平台特性**:利用Adobe AIR开发的应用程序可以在不同的操作系统上运行而无需进行修改。 - **离线应用**:Adobe AIR支持创建可以在没有网络连接的情况下工作的离线应用。 - **文件系统访问**:Adobe AIR提供...

    AdobeAIR入门教程

    8. **桌面集成**:探索如何利用Adobe AIR提供的API实现桌面级特性,如拖放操作、桌面通知、系统菜单集成等。 9. **安全和权限**:理解Adobe AIR的安全模型,包括沙箱限制、数字签名以及获取用户权限的方法。 10. *...

    使用AdobeAIR开发android应用

    Adobe AIR为Android开发带来的最大便利在于其跨平台特性。这意味着开发者可以使用相同的代码库同时为目标不同的操作系统(如Windows、macOS、iOS以及Android)创建应用程序。这一特性极大地简化了多平台应用的开发和...

    flash adobe air 采集音视频 软件

    标签中的“flash adobe air 采集音视频 软件”再次强调了软件的核心特性,即音视频的采集和处理能力。采集通常涉及使用摄像头和麦克风获取输入,处理可能包括编码、过滤、裁剪等操作,以确保音视频质量适应不同的...

    Adobe AIR 开发人员工具箱

    Adobe AIR(Adobe ...通过这些资源,开发者可以深入理解AIR的架构,掌握如何创建具有桌面特性的富客户端应用程序,并提升自己的技能,参与到Adobe AIR Market Place中的应用程序开发,为用户提供创新的桌面体验。

    Adobe AIR权威指南

    总之,《Adobe AIR权威指南》全面覆盖了Adobe AIR开发的各个方面,从基础知识到高级特性,从理论到实践,为开发者提供了坚实的理论基础和实践经验。无论你是想要扩展Web应用到桌面领域,还是希望创建原生的桌面应用...

    Android移动开发--基于Adobe AIR 源代码

    Adobe AIR的更新周期较为频繁,开发者需要关注新版本的发布,以获取最新的特性和性能改进。同时,随着Android系统的升级,应用可能需要适配新的API和功能。 通过深入研究这个基于Adobe AIR的Android移动开发源代码...

    adobe air1.1中文版

    在“Adobe AIR 1.1”版本中,包含的核心特性有: 1. **多平台兼容性**:AIR 1.1不仅支持Windows和Mac OS,还提供了初步的移动平台支持,尽管当时Android和iOS尚未广泛普及。 2. **本地API集成**:AIR允许应用程序...

    ADOBE AIR 教程

    首先,我们要明白ADOBE AIR的核心优势在于它的跨平台特性。通过AIR,开发者可以编写一次代码,就能部署到Windows、Mac OS X以及Android和iOS等不同操作系统上,极大地提高了开发效率和应用的覆盖范围。 在基础层面...

    ADOBEAIR完整入门与开发实录——使用FLEXFLASHAJAX开发AIR应用第01章-.pdf

    在本章中,作者首先介绍了RIA的概念和发展历程,然后详细阐述了RIA的优点和技术特性,以及如何使用Adobe AIR平台来开发RIA应用程序。 RIA是一种软件发展的趋势,是建立在对用户友好程度(即用户体验)认知基础上的...

    Adobe AIR安装文件

    Adobe AIR的核心特性包括: 1. **跨平台兼容性**:Adobe AIR支持Windows、Mac OS和Linux操作系统,使得开发者能够编写一次代码,就能在多种平台上运行应用程序。 2. **桌面集成**:AIR应用可以拥有桌面级别的功能...

    Adobe AIR * 设置移动应用程序属性

    12. **应用更新**:Adobe AIR支持自动更新机制,开发者可以配置应用检测并下载新版本,简化用户的升级流程。 13. **源码和工具**:博客中提到的“源码”可能是指提供了一些示例代码,帮助开发者理解如何设置这些...

    [使用AdobeAIR开发Android应用程序].PDF 及源代码

    4. **PDF文档的价值**:“[使用AdobeAIR开发Android应用程序].PDF”可能包含详细的教程和指南,涵盖了从环境设置到实际编程的全过程,可能包括Air SDK安装、Flex Builder或IntelliJ IDEA的使用、打包和发布应用等...

    adobe AIR Hello World

    3. **An AIR Descriptor File (ADL)**:每个AIR应用都有一个XML格式的描述符文件,即`.air`或`.app`文件。这个文件定义了应用的基本信息,如版本、图标、所需权限等。在"Hello World"应用中,描述符文件会指定启动...

Global site tag (gtag.js) - Google Analytics