Adobe AIR被媒体誉为2007年最值得关注的技术,就像当时的ajax一样,将被广泛的关注;具体的技术解释可以看“关于Adobe AIR ” 这篇的介绍。
现在来看看Air的优势在哪里?要明白其优势,需要先清楚下列的几个问题。
一、目前网络应用的几种形式
网路应用纷繁复杂,但我想大概可以划分为下列几种类型:
web访问方式-如大量的网站服务应用,直接通过ie和firefox等浏览器,借助统一标准的http协议获得服务,虽然浏览器也是客户端,但对用户来说已是标准配置,而且用户访问的web服务与浏览器无关,所以可以和下面的桌面软件分开来说;
优点是:与操作系统平台无关,与浏览器无关,在不同的操作系统环境下,用不同的浏览器,访问同一个网站获得的服务是一样额的。
缺点是:用户的交互操作及用户体验,比不上桌面应用程序;可提供的web服务形式比较受单一协议的限制。
局限于操作系统的桌面(或客户端)程序-如bt下载、im软件等,种类繁杂,协议众多,需要下载安装才能获得服务的。
优点是:用户的交互操作体验,只要想做就可以做的很到位,因为许多操作是在本地,不用网络链接,所以操作响应即时,虽然目前web的ajax技术使这一问题有了改观,但依然不如客户端来的方便;另外提供的网络服务形式不象web受单一协议的局限,甚至可以做自己的协议。
缺点是:受平台的限制,需要在不同的操作系统下多次开发,不能通用,比如现在的国内的电子杂志,大多都是打包成windows的exe文件,在mac和linux下就无法使用观看;另外由于流氓软件、病毒木马的原因,一般网民都比较抵制下载客户端程序,除了知名度较高的一些应用,如im软件,下载软件等,一般的应用都比较难于普及;而且下载本身对用户也是一个门槛。
跨平台的客户端应用程序-主要是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技术普及的底子,实现这一点也不会是个难事,当然还要依赖于,使用这以技术的各应用开发商的努力推广支持。