首页|后期|多媒体制作|平面设计|动画制作|虚拟现实|音频编辑|网站建设|招聘求职|CG动漫| 虚拟主机
论坛|项目承接|企业宣传片|配音服务|光盘制作|影视制作|动画制作|课件制作|多媒体光盘|E-Learning开发
bryce

用AIR创建桌面对话应用程序

第一章. 开始Adobe AIR之旅

什么是 Adobe AIR?

Adobe Integrated Runtime (AIR) 是一个跨操作系统的运行时,利用现有的Web开发技术(Flash,Flex,HTML,JavaScript,Ajax)来构建富Internet应用程序并部署为桌面应用程序。

AIR 支持现有的Web技术如Flash,Flex,HTML,JavaScript和AJAX,可以用你最熟练的技术来开发您所见过的最具用户体验的RIA程序,例如,一个AIR程序可以使用如下一种或多种组合技术构建:

Flash / Flex / ActionScript
HTML / JavaScript / CSS / Ajax
PDF 可嵌入任何应用程序中

作为结果,AIR 应用程序可以是:

基于Flash 或 Flex:应用程序根内容(理解为容器)为Flash/Flex (SWF)
基于Flash 或 Flex 的HTML 或 PDF。应用程序的根内容为基于Flash/Flex (SWF) 的HTML
(HTML, JS, CSS) 或 PDF

基于HTML,应用程序根内容为HTML, JS, CSS
基于HTML的Flash/Flex或PDF,应用程序根内容为基于HTML 的Flash/Flex (SWF) 或 PDF
用户使用AIR 应用程序的方式和传统桌面程序是一样的,当运行时环境安装好后,AIR 程序就可以其他桌面程序一样运行了。

点击查看附件

因为AIR 是应用程序运行时环境,因此她很小且对用户来说不可见。运行时环境提供了一套一致的跨操作系统平台和框架来开发和部署应用程序,因此你的程序不必到每个平台上进行测试,在一个平台上开发好就可以在其他平台上运行了,这有很多好处:

开发AIR应用程序不必做额外的跨平台工作,节省了时间,因为跨平台的工作AIR都帮我们做好了(只要其他平台能支持AIR)。

比起Web技术及其设计模式,AIR应用程序开发迅速,她允许将Web开发技术搬到桌面上来而不用另外去学习桌面程序开发技术或复杂的底层代码,这比起低级语言如C 和 C++更容易学习,且不用去处理每个操作系统复杂的底层APIs 。
Miuoo
Dec 3 2007, 09:32 PM
安装运行时及例程

AIR允许在桌面上运行富Internet应用程序(富客户端)。首先,你需要在计算机上安装一个运行时环境,装好后,下载示例程序,试着运行下,看看在桌面上跑的AIR程序会是什么样子。


安装运行时环境

按照下面的说明下载和安装Windows 或 Mac OS X 版本的AIR,只需要装一次,您就可以在任何时候运行AIR程序了。

安装Windows版本

1. 从Adobe Labs站点下载安装文件(AIR1_win_beta1.exe) 。

2. 双击安装文件AIR1_win_beta1.exe 。

3. 根据提示完成安装。

4. 如果你修改了mms.cfg 文件,则在运行AIR程序之前删除它,在Windows操作系统中该文件放置在C:\winnt\system32\macromed\flash\mms.cfg。

安装Mac OS版本

1. 从Adobe Labs站点下载安装文件(AIR1_mac_beta1.dmg) 。

2. 双击安装文件AIR1_mac_beta1.dmg 。

3. 根据提示完成安装。

4. 如果安装时出现认证窗口,输入Mac OS 用户名和密码。

5. 如果你修改了mms.cfg 文件,则在运行AIR程序之前删除它,在Mac OS操作系统中该文件放置在/Library/Application Support/Macromedia/mms.cfg 。


安装和运行AIR示例程序

AIR beta1 包含了一些示例程序。

1. 从Adobe Labs站点下载AIR示例程序。

2. 双击AIR文件 。

3. 在安装窗口中选择installation选项,点Continue 。

4. 安装完成后,打开程序。

5. 在Windows系统中,双击桌面上的程序图标。

6. 在Mac OS系统中,双击程序图标,它安装在用户目录的Applications子目录中(例如, Macintosh HD/Users/JoeUser/Applications/) 。


运行AIR应用程序

在你所使用的系统上正确安装AIR的运行环境后,安装你下载的AIR程序,就可以运行顺利了。本站“作品展示“专栏里有一些,新手可以去下载安装体验一下什么是AIR。
Miuoo
Dec 3 2007, 09:34 PM
上面是运行AIR,下面说开发AIR的环境。

设置开发环境

在编写AIR程序之前,你还需要设置开发环境。在Flex Builder 3中可开发基于Flex和基于ActionScript的AIR程序,或者使用Flex 和AIR SDKs的命令行工具,如果开发基于HTML的AIR程序,必须要AIR SDK,它包含了打包程序所需要的工具。

Miuoo
Dec 3 2007, 09:37 PM
分发,安装和运行AIR应用程序

AIR程序是非常易于安装的,无缝安装特性让用户安装最新的AIR运行时,安装AIR程序,装好后,就可以和普通桌面程序一样运行了。

一旦打包好了AIR程序,有几种途径进行分发:

1. 你可以直接通过电子邮件或Web页面来发送AIR安装包给终端用户。

2. 也可以在Web页面上加入一个无缝安装链接,无缝安装特性可在Web页面上提供一个链接让用户通过点击改链接来安装AIR程序。如果用户没有安装AIR运行时,则会提示用户安装运行时,无缝安装技术也可让用户不必下载AIR文件就可以安装AIR程序。

如果用户下载了AIR文件,只要双击文件即可启动AIR安装向导,如果用户点击了Web页面的无缝安装链接,则会弹出对话框提示用户是否立即安装AIR程序。

Windows系统中在默认设置下,安装AIR程序会:

1. 安装在Program Files 目录

2. 创建桌面快捷键

3. 创建开始菜单快捷键

4. 在添加/删除控制面板中添加程序操作项目

在Mac OS中,默认下AIR程序安装在用户目录中的Applications子目录下。

如果程序已经安装,则安装向导会提示用户是否打开程序或者更新程序,安装器是根据应用程序的ID(appID)来确定的。


关于AIR安全性

AIR环境提供和一般桌面程序类似的,能够访问操作系统资源的能力,AIR程序比起SWF或浏览器中HTML文件来约束更小些,因此可能会出现安全问题,所以正确理解AIR程序的安全模型非常重要。


安装向导安全警告

在AIR程序安装过程中,用户会看到一个安全提示,这是AIR程序开发者给出的提示信息以及允许程序访问的操作系统类型,这些信息让用户在安装程序时有个大致了解。


安全沙漏

在AIR beta版本中,在特定的安全沙漏中AIR程序可访问本地文件系统,在将来的AIR版本中,应用程序资源将有着不同的安全沙漏,这取决与AIR程序是如何被安装的。

对于SWF你可以设置安全沙漏类型属性(sandboxType属性 )为只读,因为SWF可以包含在AIR程序里,该属性是Security.APPLICATION 的一个常量。

所有未和AIR程序一起安装的其他资源都被放入同一个安全沙漏中,远程资源根据源域放入沙漏中,本地资源被放入local-with-networking,local-with-filesystem,或local-trusted 。


AIR程序安全沙漏中的资源访问特权

AIR应用程序安全沙漏中的SWF可以通过脚本访问来自其他域中的SWF文件,但是默认下,外部的SWF要想访问AIR应用程序安全沙漏内的SWF则会受到约束。

AIR程序沙漏中的SWF 文件和HTML内容可读取任何域中的内容及其数据。

随AIR程序安装的SWF文件不必寻找cross-domain策略文件,要提升权限可调用Security.allowDomain() 方法。

AIR为AIR程序安全沙漏中的SWF文件和HTML内容提供了增强型的特权,其中包括读取和写入本地资源和文件。


健壮的应用程序开发最佳实践

当编写AIR程序时,你要知道虽然你使用了Web技术,但是却不受浏览器安全沙漏限制,也就是说AIR程序可能有意或无意中破坏本地系统,AIR真试图把这种风险降低到最小,但是类似此方面的漏洞仍然可能出现。

产生风险的最大可能就是在读取外部数据或内容时,因此你必须时刻注意使用中的数据是否来自于网络还是本地系统,下面的这些例子都有可能存在潜在的风险:

引入外部内容时

将导致脚本注入风险:

1. 如果一个TextField对象读取的内容中包含链接,则该链接可能会执行不可预料的结果。

2. 如果程序读取一个非信任的SWF,则该SWF可能会以非法特权执行。

3. 如果程序从外部程序中读取JSON 内容,则该内容可能会访问运行时特权。

影响程序行为的数据

这将会导致弱安全性。比如,如果一个程序使用来自网络上的数据去检测一个文件名或写入一个配置文件,因此需要检测这些数据是否安全以及是否来自信任的数据源。

现在的AIR还是beta版,如果你遇到了诸如配置和选项的弱安全问题,请告诉Adobe,目前Adobe现在处理这些安全问题,到时他们将会优先给你一份AIR 1.0的正式版本。


对于HTML内容的安全约束

HTML内容和其他AIR内容一样都放在同一个安全沙漏模型中操作,但是这里有些特殊的情况。 如果内容都在程序安全沙漏内,则HTML控制对象中的HTML内容只能访问安全约束的runtime类(如JavaScript对象window.runtime)。对于基于HTML的程序来说,从应用程序资源目录中载入的数据(顶层Frame)总是可以访问runtime类,而从应用程序资源外部载入的数据无论是子框架还是(IFRAME),还是通过页面定位读取的数据,其权限与原来的域保持一致,不能访问受AIR安全约束的runtime类,默认下非程序内容是不能访问跨脚本内容,如JavaScript window 属性,nativeWindow 和htmlControl不能在程序沙漏外工作。要想安全访问脚本,可以使用the flash.system.Door API 创建严密的通信网关在程序内容和非程序内容之间提供一个有限的接口。


Miuoo
Dec 3 2007, 09:38 PM
AIR文件结构

除了所有文件及图片等资源文件之外,下面两个文件是必须的:

AIR files

用来打包AIR程序,主要作为安装文件。

应用程序描述文件

一个XML格式的文件,包括每个AIR程序(嵌入的AIR文件)定义的这种程序属性,例如应用程序名称,appID,以及主程序窗口特征。

当使用Flex Builder 和AIR Extensions时,在创建AIR项目时application.xml文件会被自动创建。如果你使用Flex 和AIR SDKs (包括开发基于HTML的应用程序),你需要手动创建这个文件。另外当使用Flex Builder的AIR Extensions时,可通过导出应用程序为AIR文件,如果使用Flex 和AIR SDKs开发,这需要ADT 命令行工具生成AIR文件。



Miuoo
Dec 3 2007, 09:41 PM



 
如果您有影视动画多媒体项目
中国多媒体行业门户
配音服务

加入书签 | 合作机会| 广告服务| 项目承接| 配音服务| 诚征代理| 联系我们| 友情链接

xuanchuanpian.yufeng21.com All Rights reserved