论文部分内容阅读
摘要:今年二月份Adobe公司推出了AIR 1.0版本,AIR对大多数人来说,都非常的陌生。该文简要的概述了什么是AIR,AIR的优点,如何来构建AIR程序等问题。
关键词:AIR;Adobe;程序
中图分类号:TP317文献标识码:A文章编号:1009-3044(2008)29-0386-01
Brife Analysis of AIR Technology
GUO Fu-san
(Communication and Electronic Engineering College,Qiqihar University, Qiqihar 161006,China)
Abstract: February this year,AIR 1.0 released by Adobe corporation.AIR is strange to a lot of people.This paper consists of what is AIR,the excellence of AIR,how to compile a AIR program.
Key words: AIR; Adobe; program
1 引言
Adobe自從收购了Macromedia有了Flash和它的RIA解决方案之后,野心大了不少,它至少是想要和Google,微软的竟争中占一席之地,甚至是想集两家之长取而代之(Web 软件=融合),所以,它最近两年不停地放出一些开源的工具和解决方案,直到今年二月份推出了AIR 1.0版本。
2 AIR到底是什么
Adobe Integrated Runtime (AIR) 是一个跨操作系统的运行时,利用现有的Web开发技术(Flash,Flex,HTML,JavaScript,Ajax)来构建富Internet应用程序并部署为桌面应用程序。
AIR 支持现有的Web技术如Flash,Flex,HTML,JavaScript和AJAX,可以用你最熟练的技术来开发您所见过的最具用户体验的RIA程序,例如,一个AIR程序可以使用如下一种或多种组合技术构建:
1) Flash/Flex/ActionScript;
2) HTML/JavaScript/CSS/Ajax;
3) PDF可嵌入任何应用程序中。
作为结果,AIR应用程序可以是:
1) 基于Flash或Flex:应用程序根内容(理解为容器)为Flash/Flex (SWF);
2) 基于Flash或Flex的HTML或PDF。
应用程序的根内容为基于Flash/Flex(SWF)的HTML(HTML,JS,CSS)或PDF:
1) 基于HTML,应用程序根内容为HTML,JS,CSS;
2) 基于HTML的Flash/Flex或PDF,应用程序根内容为基于HTML的Flash/Flex(SWF)或PDF。
用户使用AIR应用程序的方式和传统桌面程序是一样的,当运行时环境安装好后,AIR程序就可以其他桌面程序一样运行了。
因为AIR是应用程序运行时环境,因此她很小且对用户来说不可见。运行时环境提供了一套一致的跨操作系统平台和框架来开发和部署应用程序,因此你的程序不必到每个平台上进行测试,在一个平台上开发好就可以在其他平台上运行了,这有很多好处:
1) 开发AIR应用程序不必做额外的跨平台工作,节省了时间,因为跨平台的工作AIR都帮我们做好了(只要其他平台能支持AIR)。
2) 比起Web技术及其设计模式,AIR应用程序开发迅速,她允许将Web开发技术搬到桌面上来而不用另外去学习桌面程序开发技术或复杂的底层代码,这比起低级语言如C和C 更容易学习,且不用去处理每个操作系统复杂的底层APIs。
3) AIR程序都是跑在AIR这个Runtime之上的。这就好比SWF文件在Flashplayer中运行一样。
3 AIR体验
AIR的组成和发布过程:一个描述应用的XML 一个根节点资源 一个打包工具。 在使用Flex Builder3建立AIR项目的时候,一般都会自动产生一个MXML和个XML。用Flex编译SWF,作为这个AIR的默认根节点,然后通过Flex Builder3发布成为air安装包。(当然这并不是唯一开发AIR的方式,Flex开发成本相对较高)我们只要有swf,并且把这个swf描述成为AIR应用的根节点资源,就可以使用Flex Builder3带有打包工具发布air安装包了。
安装了AIR运行时环境,AIR SDK后,试验了Sample程序查看了一下官方手册,想了一下,发现,这不就是Firefox之前提出过的理念嘛,不象Firefox的插件,只是为WEB浏览服务,Firefox提出过一个理念是,在浏览器里运行WEB软件——无论在线离线,只不过它还是在浏览器里面跑,所以给人印象不是太大,而AIR比较聪明,它淡化了浏览器的概念,突出了离线运行(其实就是浏览)跨平台的概念,按道理,AIR应该第一个支持的是Linux或Windows平台,因为开源社区在这方面的工作比较多可以参考,或者在Windows上开发更快一些,因为这两个平台有着Firefox的核心Gecko可以使用,IE的内核Trident比较被开发人员熟悉,但可能出于商业利益,Adobe肯定不会用微软的IE内核,Firefox太自由了,结果Adobe用了苹果的safari浏览器的内核webkit,这个浏览器内核目前只在苹果机子上和Iphone,IpodTouch上有主流应用,Windows平台上刚刚试水,虽然其内核WebKit也是Linux开源社区的(好象基于KHTML内核),但类似于MaxOS是基于Unix内核一样,苹果公司总是喜欢有它自己的一套商业思想,估计Adobe和Apple两个老A有了某些协议,最终它们联手了,这就是为什么AIR 1.0先支持了Win和Mac,而许多Web设计人员试用时,一些经过IE和Firefox测试过的网页显示在AIR里又出现CSS样式错乱的原因了。
熟悉了AIR的框架之后发现,其实AIR的核心就是一个定制版的没有标准浏览器界面的浏览器——虚拟机,该虚拟机通过读取xml配置文件来决定界面显示,通过AIR提供的JS文件来进行该浏览器(AIR虚拟机)的API的调用,而这些API就是标准浏览器和标准Javascript框架下没有提供的一些本地资源的调用方法,同时该浏览器去掉了一些Web访问的权限限制使得它更象是一个Client应用软件,同时Adobe也没忘了将它自家的Flash和Pdf的支持功能加进去。
4 总结
1) 与现有技术完美结合和兼容,例如 HTML AJAX(包含CSS\Javascript)ActionScript;
2) 与现有网站一样,可以与外界(包括搜索引擎在内)交流;
3) 加载速度比现有的网站快很多。因为AIR产品均是在本地运行的,它只存在一个数据库连接的问题。想象一下,当把大幅的图片、网站FALSH、大量的AJAX代码均在用户本地打包待调用的话……速度如何?用户只需要在第一次登陆你的网站时自动下载这些即可。
关键词:AIR;Adobe;程序
中图分类号:TP317文献标识码:A文章编号:1009-3044(2008)29-0386-01
Brife Analysis of AIR Technology
GUO Fu-san
(Communication and Electronic Engineering College,Qiqihar University, Qiqihar 161006,China)
Abstract: February this year,AIR 1.0 released by Adobe corporation.AIR is strange to a lot of people.This paper consists of what is AIR,the excellence of AIR,how to compile a AIR program.
Key words: AIR; Adobe; program
1 引言
Adobe自從收购了Macromedia有了Flash和它的RIA解决方案之后,野心大了不少,它至少是想要和Google,微软的竟争中占一席之地,甚至是想集两家之长取而代之(Web 软件=融合),所以,它最近两年不停地放出一些开源的工具和解决方案,直到今年二月份推出了AIR 1.0版本。
2 AIR到底是什么
Adobe Integrated Runtime (AIR) 是一个跨操作系统的运行时,利用现有的Web开发技术(Flash,Flex,HTML,JavaScript,Ajax)来构建富Internet应用程序并部署为桌面应用程序。
AIR 支持现有的Web技术如Flash,Flex,HTML,JavaScript和AJAX,可以用你最熟练的技术来开发您所见过的最具用户体验的RIA程序,例如,一个AIR程序可以使用如下一种或多种组合技术构建:
1) Flash/Flex/ActionScript;
2) HTML/JavaScript/CSS/Ajax;
3) PDF可嵌入任何应用程序中。
作为结果,AIR应用程序可以是:
1) 基于Flash或Flex:应用程序根内容(理解为容器)为Flash/Flex (SWF);
2) 基于Flash或Flex的HTML或PDF。
应用程序的根内容为基于Flash/Flex(SWF)的HTML(HTML,JS,CSS)或PDF:
1) 基于HTML,应用程序根内容为HTML,JS,CSS;
2) 基于HTML的Flash/Flex或PDF,应用程序根内容为基于HTML的Flash/Flex(SWF)或PDF。
用户使用AIR应用程序的方式和传统桌面程序是一样的,当运行时环境安装好后,AIR程序就可以其他桌面程序一样运行了。
因为AIR是应用程序运行时环境,因此她很小且对用户来说不可见。运行时环境提供了一套一致的跨操作系统平台和框架来开发和部署应用程序,因此你的程序不必到每个平台上进行测试,在一个平台上开发好就可以在其他平台上运行了,这有很多好处:
1) 开发AIR应用程序不必做额外的跨平台工作,节省了时间,因为跨平台的工作AIR都帮我们做好了(只要其他平台能支持AIR)。
2) 比起Web技术及其设计模式,AIR应用程序开发迅速,她允许将Web开发技术搬到桌面上来而不用另外去学习桌面程序开发技术或复杂的底层代码,这比起低级语言如C和C 更容易学习,且不用去处理每个操作系统复杂的底层APIs。
3) AIR程序都是跑在AIR这个Runtime之上的。这就好比SWF文件在Flashplayer中运行一样。
3 AIR体验
AIR的组成和发布过程:一个描述应用的XML 一个根节点资源 一个打包工具。 在使用Flex Builder3建立AIR项目的时候,一般都会自动产生一个MXML和个XML。用Flex编译SWF,作为这个AIR的默认根节点,然后通过Flex Builder3发布成为air安装包。(当然这并不是唯一开发AIR的方式,Flex开发成本相对较高)我们只要有swf,并且把这个swf描述成为AIR应用的根节点资源,就可以使用Flex Builder3带有打包工具发布air安装包了。
安装了AIR运行时环境,AIR SDK后,试验了Sample程序查看了一下官方手册,想了一下,发现,这不就是Firefox之前提出过的理念嘛,不象Firefox的插件,只是为WEB浏览服务,Firefox提出过一个理念是,在浏览器里运行WEB软件——无论在线离线,只不过它还是在浏览器里面跑,所以给人印象不是太大,而AIR比较聪明,它淡化了浏览器的概念,突出了离线运行(其实就是浏览)跨平台的概念,按道理,AIR应该第一个支持的是Linux或Windows平台,因为开源社区在这方面的工作比较多可以参考,或者在Windows上开发更快一些,因为这两个平台有着Firefox的核心Gecko可以使用,IE的内核Trident比较被开发人员熟悉,但可能出于商业利益,Adobe肯定不会用微软的IE内核,Firefox太自由了,结果Adobe用了苹果的safari浏览器的内核webkit,这个浏览器内核目前只在苹果机子上和Iphone,IpodTouch上有主流应用,Windows平台上刚刚试水,虽然其内核WebKit也是Linux开源社区的(好象基于KHTML内核),但类似于MaxOS是基于Unix内核一样,苹果公司总是喜欢有它自己的一套商业思想,估计Adobe和Apple两个老A有了某些协议,最终它们联手了,这就是为什么AIR 1.0先支持了Win和Mac,而许多Web设计人员试用时,一些经过IE和Firefox测试过的网页显示在AIR里又出现CSS样式错乱的原因了。
熟悉了AIR的框架之后发现,其实AIR的核心就是一个定制版的没有标准浏览器界面的浏览器——虚拟机,该虚拟机通过读取xml配置文件来决定界面显示,通过AIR提供的JS文件来进行该浏览器(AIR虚拟机)的API的调用,而这些API就是标准浏览器和标准Javascript框架下没有提供的一些本地资源的调用方法,同时该浏览器去掉了一些Web访问的权限限制使得它更象是一个Client应用软件,同时Adobe也没忘了将它自家的Flash和Pdf的支持功能加进去。
4 总结
1) 与现有技术完美结合和兼容,例如 HTML AJAX(包含CSS\Javascript)ActionScript;
2) 与现有网站一样,可以与外界(包括搜索引擎在内)交流;
3) 加载速度比现有的网站快很多。因为AIR产品均是在本地运行的,它只存在一个数据库连接的问题。想象一下,当把大幅的图片、网站FALSH、大量的AJAX代码均在用户本地打包待调用的话……速度如何?用户只需要在第一次登陆你的网站时自动下载这些即可。