1、基于基于 Adobe,AIRAdobe,AIR 的下一代移动应用开发的下一代移动应用开发 摘要:本文通过与传统的 Web 应用程序的比较,深入地阐述 Adobe AIR 的特点及优势,详细介绍了实现 Adobe AIR 应用的 Flex Builder 4.5 在改善、增强用户体验方面的技术支持及程序开发步骤,并且创建了一个基于 AIR 的移动设备应用程序,为开发人员部署 RIA 应用推荐了一种新的解决方案。关键词:Adobe AIR;Flex Builder;移动应用;在线调查 中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599(2011)15-0000-01 Nex
2、t-Generation Mobile Application Development on Adobe AIR Xue Zhihua(Autodesk Software(China)Limited Shanghai Branch,Shanghai201103,China)Abstract:In this paper,the traditional Web applications with the more in-depth exposition of the characteristics and advantages of Adobe AIR,Adobe AIR implementati
3、on details of the application of the Flex Builder 4.5 to improve and enhance the user experience in technical support and program development steps,and creating a AIR-based applications for mobile devices,applications for developers to deploy RIA recommends a new solution.Keywords:Adobe AIR;Flex Bui
4、lder;Mobile applications;Online survey 前言:近年来,以 Web 为基础的富互联网应用(RIA)非常广泛,但其依然受传统浏览器的标准、规范及安全沙漏(sandbox)的限制,不能操作本地电脑的资源及进行跨站资源调用,不如桌面应用灵活。Adobe AIR 的目的是让用户可以利用既有的 Web 技术开发 RIA 桌面应用。这类应用能以标准软件的形式来运行,具备其他传统桌面程序的特色,如本地文件读写,本地软件的界面、菜单控制,安装卸载过程的实现,开机自动运行等。一、Adobe AIR 简介(一)AIR 到底是什么 Adobe Integrated Runtime
5、(AIR)是一个跨操作系统的运行时,利用现有的Web 开发技术来构建富客户端应用程序(RIA)。AIR 支持现有的 Web 技术如Flash,Flex,HTML,JavaScript 和 AJAX,可以用最熟练的技术来开发最具用户体验的 RIA 程序。AIR 是应用程序运行环境,提供了一套一致的跨操作系统平台和框架来开发和部署应用程序。因此,程序在一个平台上开发好就可以在其他平台上运行,而不必到每个平台上进行测试。(二)Adobe AIR 特点 Adobe AIR 几个最重要的特点:(1)跨平台,类似 java 技术,在不同的操作系统上有对应的虚拟机支持。(2)支持拖拽、粘贴等,类型本地桌面应
6、用程序。(3)本地存储,可以直接与本地数据库建立连接,进行数据的读/写操作。(4)可在后台运行,且开发是基于现有的 web 技术,开发门槛较低。(三)Adobe AIR2.0 新特性 Adobe AIR2.0 在原有的特性上,增加了许多对本地资源进行访问控制的特性,主要有:按照类型用默认的程序打开文件;大容量存储设备检测;本地进程API;访问麦克风数据;多点触摸和手势支持;增强的拖拽支持以及性能优化等。二、基于 Adobe AIR 的移动设备应用 由于 AIR 的良好的跨平台和易用性的特点,我们以目前最新的 Adobe AIR2.6 为移动设备上的运行时,以 Adobe Flex 4.5 SD
7、K 为开发框架,Flash Builder 4.5 为开发环境,实现了一套用于移动设备的 AIR 应用程序。(一)移动设计和开发的考虑事项 移动触摸屏设备的应用程序与桌面和网络应用程序在几个重要方面存在差异:(1)为了使触摸输入能实现轻松操作,组件的触击区域一般大于面向桌面的应用程序。(2)触摸屏设备上的滚动等操作的交互模式有所不同。(3)由于屏幕面积有限,智能手机等小型设备上的应用程序必须采用不同于桌面应用程序的设计,在给定时间内屏幕上只能显示少量 UI。(4)由于移动设备的可用内存有限,应用程序必须尽可能减少内存消耗并且操作系统可能随时关闭并重新启动它们。因此,为移动设备构建应用程序并非只
8、是拿来一个桌面应用程序并“缩小”为不同的屏幕大小。我们需要创建出单独、合适的用户界面。为了解决以上列出的设计和开发难题,Flex 4.5 中新增的移动开发功能增强了 Flex SDK 的核心功能并提供为移动设计和实施模式优化的外观和组件。(二)Flex 开发移动应用的 UI 模式 在 Flex4.5 中包含了一组新应用程序组件,专门设计为简化遵循触摸屏智能手机标准设计模式的应用程序的构建。这些主要组件为:(1)View:表示一个UI 屏幕。View 包含一个 ViewNavigator。(2)ActionBar:是显示在应用程序View 上方的一个标准标题组件。它一般包含一个标题以及一个或多个
9、按钮,这些按钮执行刷新当前视图或创建新项等操作。如图 3 所示。(3)ViewNavigator:使用基于堆栈的历史记录机制管理应用程序中的 ActionBar 和ViewContent 集。当应用程序启动时,ViewNavigator 显示其 firstView 属性指定的视图。(4)ViewNavigatorApplication:将所有这些功能一起打包到一个便捷的应用程序类中。三、实例说明 我们用基于 AIR 和 Flex4.5 的开发框架设计并实现了一套能够用于不同移动设备上的在线调查系统。(一)系统架构设计 本在线调查系统最大限度地提高了跨多屏幕的代码重用率,使用了模型视图表示器 M
10、PV(Model View Presenter)架构模式。MPV 使用被动视图(passive view)并且利用一个正规的控制器在视图之间传递状态和 UI 信息。通过将所有逻辑代码放置于视图文件之外,我们能够在多个项目中重新使用核心应用程序代码。(二)界面演示 当用户成功登录后,可以选择并查看任意一项正在进行的调查问卷。并且在登录之后,用户可通过点击“我的账户”按钮进入到账户管理页面中。四、结束语 本文总结了 Adobe AIR 平台的特性,并基于最新的 AIR 运行时,实现了一套在线调查系统。基于 Adoble AIR 的应用程序操作简单、高效、具有良好跨平台兼容性,能大大降低制作用户界面的难度,提高开发效率,而且能将桌面软件的优势和网络范围的广泛结合在一起,从而为用户创造出更有价值的体验。参考文献:1杨占坡,杨铭,翁颖.Flex3 RIA 开发详解与精深实践企业级 Web 应用与AIR 桌面应用M.北京:清华大学出版社,2009