AIR允许你利用现有的web开发技能(包括Flash, Flex, HTML, JavaScript, Ajax)优势,建立和配置跨平台(或跨操作系统)的桌面RIA(Internet Applications)应用。
AIR能使你在熟悉的环境下工作,去利用你觉得的最舒适的工具,并且通过支持Flash, Flex, HTML, JavaScript, and Ajax,去建立接近你需要的尽可能好的体验。
比如应用程序能用下列一个或一个技术的组合来开发:
- Flash / Flex / ActionScript
- HTML / JavaScript / CSS / Ajax
- PDF can be leveraged with any application
- 因此,AIR 应用程序可以是下列几种情况:
- 基于 Flash or Flex: 基础内容是 Flash/Flex (SWF)的应用程序
- 基于 Flash or 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虚拟机runtime一旦被安装在用户的计算机上,AIR应用程序就能象其他桌面应用程序一样,被安装和运行。
由于 AIR 是一个应用程序的运行时环境,它的用户界面几乎不可见,您可以完全控制在上面运行的应用程序和它提供给用户的体验。 该运行时环境为部署应用程序提供了一个一致的跨操作系统的平台和框架,因此可以取消跨浏览器测试, 可以通过确保跨桌面的功能和界面的一致性来实现。 你现在只需要针对这个运行时环境来进行开发,而不必对各种特定的操作系统一一进行开发。 这带来很多优点:
应用程序开发跨越多个平台,这些都不需要你额外的工作。
应用程序可以用你熟悉的web技术和设计模式快速建立,而不用学习传统的复杂的本地桌面开发技术,不用学习底层开发语言如c或c++,也不需要学习每一个特定的操作系统的底层API技术。
当开发基于AIR的应用程序时,你可以利用的框架和API的优势
特定的基于AIR运行时的APIs ,和 AIR 框架
在swf文件里使用的ActionScript APIs 和Flex 框架
AIR提供一个新的范例,大大地改变了应用程序建立,部署和体验的方式。 你可以取得更多创造性的控制,并且能扩展你的Flash, Flex, HTML, 和基于Ajax的程序到桌面应用程序,而无需学习传统桌面程序开发技术。
优势
AIR被媒体誉为2007年最值得关注的技术,就像当时的ajax一样,将被广泛的关注。
现在来看看Air的优势在哪里?要明白其优势,需要先清楚下列的几个问题。
一、目前网络应用的几种形式
网络应用纷繁复杂,但我想大概可以划分为下列几种类型:
web访问方式-如大量的网站服务应用,直接通过ie和firefox等浏览器,借助统一标准的http协议获得服务,虽然浏览器也是客户端,但对用户来说已是标准配置,而且用户访问的web服务与浏览器无关,所以可以和下面的桌面软件分开来说;
优点是:跨平台,除了具有桌面程序所有的一切优点外,跨平台性是其最大的优势,与操作系统平台无关,与浏览器无关。
缺点是:用户的交互操作及用户体验,比不上桌面应用程序虽然目前web的ajax技术使这一问题有了改观,但依然不如客户端来的方便;可提供的web服务形式比较受单一协议的限制。
局限于操作系统的桌面(或客户端)程序-如bt下载、im软件等,种类繁杂,协议众多,需要下载安装才能获得服务的。
优点是:用户的交互操作体验,只要想做就可以做的很到位,因为许多操作是在本地,不用网络链接,所以操作响应即时,另外提供的网络服务形式不象web受单一协议的局限,甚至可以做自己的协议。
跨平台的客户端应用程序-主要是sun倡导的java技术,一次开发跨平台执行。
缺点是:其技术本身要求下载一个虚拟机安装,对大多数网民来说也是一个门槛。
Adobe AIR技术的特点
从Adobe官方的宣传来看,其特点有下列几点:
1、本地运行-类似桌面应用程序。
2、跨平台-类似java技术,在不同的操作系统上有对应的虚拟机支持,目前已经有windows和mac,linux。
3、开发是基于现有的web技术,如Flash / Flex / ActionScript / HTML / JavaScript / CSS / Ajax /PDF,对于开发人员,不需要学习c、c++、java之类的底层开发语言,不需要学习具体操作系统底层API的开发;这降低了开发门槛,使现有的做web开发的技术人员,依赖其原本就很熟悉的开发模式,稍加训练就可以开发良好丰富的富客户端应用。
Adobe AIR和目前其他几种网络应用形式比较
优势比较
1、比web的优势在于,有客户端的优势;可以脱机运行,在需要的时候偶尔连接网络。
2、比传统的客户端优势,在于跨平台,和低开发成本,比如这一特性可以使现有的国内电子杂志系统,轻松实现跨平台。
3、比java跨平台的优势在于,其flash技术本身的带来的更吸引人的交互表现。
Adobe AIR会存在的问题缺点:
1、其虚拟机的下载安装,会是一个推广的门槛。
2、毕竟采用的大多是web 开发技术,虽然在桌面端有些api扩展,但肯定也不能完全替代传统客户端的开发。
综述
综上所述Adobe Air技术的前景应该还是非常好的,只要其虚拟机的推广规模和flash插件一样,其巨大的应用空间,将不可小视;相信有flash技术普及的底子,实现这一点也不会是个难事,当然还要依赖于使用这一技术的各应用开发商的努力推广支持。