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