`
WonLen
  • 浏览: 51081 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

[AIR]Adobe AIR和他的对手们

阅读更多

本来很久之前就想写一篇这样的文章,但是一直没有时间,今天在“机缘巧合”下,就把把这篇文章成稿了:)

自从Adobe AIR在08年露出端倪以后,Adobe的野心也就“昭然若揭”了,正如我在08年,应RIAMeeting邀请,做了一篇关于Adobe AIR的演讲上面说的那样,Adobe不安心、也不甘心做浏览器的“第一公民”,而是要做操作系统的第一公民,因此Adobe AIR应运而生。

而本篇文章不是悉数Adobe AIR的,而是想说一下他的对手们。既然说到对手,就要先来说一下Adobe AIR的特性。总结如下:

1、离线处理功能(可以利用SQLLite进行离线处理)
2、Flex → AIR,几乎可以无缝转换的特征。
3、无需浏览器而单独运行。

okay,上面几点就是Adobe AIR的一些比较显著的特质了,那么我们再说一下Adobe AIR的对手们。

1、Silverlight 3.0版本
      “据说”(已经被证实)在这个3.0版本里面增加了“OUT OF BROWSER”功能,即可以“让用户将他们喜欢的SILVERLIGHT程序直接放到他们的桌面或开始菜单中,而不用去下载任何运行环境和打开浏览器程序”。
       也就是说,第三版的Silverlight已经具有了Adobe AIR的第三个特性。同样,也具有第二个特性,但是惟独在这个版本中没有集成Adobe AIR的第一个特性。

结论:无须质疑,在Silverlight 3.0与Adobe AIR的“对局”中已经败下阵来。

2、Ajax
      如果要说RIA的话,除了Flex外,就要数Ajax的资格老了,不仅他的资格老,而且内容也“老”,“无非就是”JavaScript而已:)但是千万不要小看这个JavaScript,在TIOBE程式語言最新排名-2009年5月版的排行版上,也是前十名的选手(要知道ActionScript 3.0的排行才是区区23名而已)
      如果要比较一下Ajax的话,我想与AIR是没有办法相比了,因为Ajax虽然属于RIA范畴,但是他的对手也仅仅是Flex、或者说是Silverlight 3.0以上的版本(不包含3.0版本)。

结论:还未比较就败下阵来。但是大家千万不要觉得JavaScript就无法与Adobe AIR相提并论了,其他他的实力还是蛮强大的,这点我会在下面的内容中陈述的。

3、JavaFX
      自从Sun推出了自己的RIA概念的编程语言:JavaFX,Kenshin认为RIA这个圈是越来越好玩了,相继Adobe、Microsoft、Oracle都纷纷加入这个战团。这样才真的有意思嘛,否则就Adobe自己玩,想玩都玩不大。
      Sun的JavaFX,有他先天的优势 - Java,别忘记虽然Java的霸主地位被一再的侵蚀,但是“瘦死的骆驼比马大”,更何况他还没有“死”,在TIOBE程式語言最新排名-2009年5月版的排行版上仍然是一副老大的嘴脸。现在到了Oracle手里,我希望Oracle给可以赋予Java、赋予JavaFX更强大的战斗力。

总结:但是JavaFX现在还它弱小了,因此JavaFX最大的竞争对手是FlexAjaxSilverlight 3.0以上版本,他连AIR的边都没靠,估计就得“挂”了:)不过我倒是认为JavaFX就从Sun对他的命名上面,就可以知道,Sun不会再犯JSP时代的错误了。

以上就是Adobe AIR正统的对手们,通过一些了解可以得知,除了“犹抱琵琶半遮面”的Silverlight 3.0似乎可以与之抗衡一下,其他诸如AjaxJavaFX均不在一个数量级上,充其量就能与Flex“过过招”,但基本上也是完败与Flex的。

那么说完了“正统”的对手,让我们在来看一下,“明修栈道暗渡陈仓”的Adobe AIR的非正统的对手们。

1、Prism(三棱镜)
      说到Prism,估计没有太多的人认识他,同时说到Mozilla,相比也没有太多的人了解,但是说到“鼎鼎大名”的FireFox(中文名:火狐),估计就是无人不知,无人不晓的了。而Prism正是系出名门(Mozilla)旗下FireFox的“同门小师弟”。
      但是PrismAdobe AIR有什么关系吗?
      其实道理很简单,Adobe AIR的特性我已经在上面叙述了,但是在这里再总结一下:
      可以将web Application无缝等转移到桌面上面,同时具有desk Application的一些特征:可以使用OS API、不依赖于浏览器等等。
      说完了Adobe AIR的特征,让我们来了解一下Prism能做些什么?
      关于Prism的功能,我早在07年的时候(请注意一下这个时间),就在这个博客上面介绍过,详细请看这里:http://www.k-zone.cn/zblog/post/prism.html
      其中关于Prism的定义如下:
      Prism可以将用户在浏览器中的Web程序(例如Google Docs、Google Canlendar等)分离出来,并直接在桌面(Window、Liunx、Mac OS X)上面运行。
      因此Prism在某种意义上说可以约等于AdobeAIR项目和微软的WPF、Silverlight项目,同属与RIA范畴的软件,因此在这一领域将直接面对Adobe和Micosoft的挑战。
      在让我们看一下Prism实际中的运行图:(我分别运行了Gmail、Tasks、Facebook、FriendFeed)在我的桌面上面。

      是不是很“吓人”呢?我可以通过Prism直接将任意web Application 转换为desk Application,而不需要什么Adobe AIRSilverlight的支持。在Prism上面完全符合Adobe AIR这个概念的“核心”特质。为什么说核心特质呢?因为Prism其实只是可以“模拟”web Application上面的运行,而非具有离线功能、操作OS API等功能。

总结:Prism虽然好,虽然在某些程度上“暗度”了一把Adobe AIR,但是还是与Adobe AIR有些较明显的差距。

2、Google Gears
      没错,就是Google Gears(这也是在07年的时候,Google发布的应用程序),这个让浏览器支持离线处理功能的工具。
      关于Google Gears的介绍请看:http://baike.baidu.com/view/1037577.htm 或者 http://code.google.com/intl/zh-CN/apis/gears/ 
      通过以上的介绍可以得知,Google Gears是离线处理的“利器”,泛泛的说,只要是支持Google Gears的网站都具有离线处理功能。例如:Google Reader、WordPress 2.6以上版本等。
      同时,由于Google Gears得益于开放的API政策,因此任何人都可以利用Google Gears API编写自己的离线功能的web Application。
      其实介绍了这么多,就说明一个事情:Google Gears具有Adobe AIR特征中的“离线处理”功能。

总结:Google Gears虽然具有离线处理功能,由于缺乏其他特质,因此依旧不能给Adobe AIR带来直接的威胁,同样在与Adobe AIR的对阵中也败下阵来了。

结果上面的一系列比较,无论是正统的Silverlight 3.0、AjaxJavaFX、还是“旁门左道”的PrismGoogle Gears都不是Adobe AIR的对手。难道Adobe AIR真的可以“笑傲江湖”吗?

其实不然,既然我们单独对决无一胜算,但是我们可以联合起来。假设以下的情况:

1、Google Reader(具有离线功能) + Prism,我想就变成了一个具有离线处理,同时也可以在桌面上运行、不依赖于浏览器的desk Application,而这个desk Application作为一个RSS Reader来说,我想足可以“干掉”目前市面上面所有的desk Application吧?更何况是Adobe AIR版本的Reader(目前尚不清楚是否有这种AIR Reader的存在)

2、Google Gears API + Prism + JavaScript的方式。
       通过以上的组合,我们可以做到给任意web Application加上具有AIR一样的作用,我随便举几个例子来说:FriendFeed、Facebook、Twitter、Delicious等都具有以上的功能,那么将会是多么可怕的事情。
        这样就可以使上面的那几个应用不局限与浏览器、网络而可以单独生存。那么我想Adobe AIR是无论如何也无法做到一些AIR版本的FriendFeed、Facebook、Twitter、Delicious吧?

最后总结一下:
个人猜测,Google GearsPrismJavaScript、甚至于包含HTML 5标准的浏览器、Google Chrome、FireFox都将会是Adobe AIR真正的竞争对手!

6
0
分享到:
评论
3 楼 gongzyx 2009-06-03  
离线,离线处理功能,真的要离线么?离了线我电脑都不想开。
2 楼 WonLen 2009-06-01  
fanlei77 写道

如果IE大厦倒塌的话,楼主的语言就能实现

貌似我说是这几个地方与IE没有关系吧,请详细说明:)
PS:本篇文章的火药味有些弄,大家和谐和谐:)
1 楼 fanlei77 2009-06-01  
如果IE大厦倒塌的话,楼主的语言就能实现

相关推荐

    dreamweaver的adobe air扩展Adobe_AIR.mxp

    通过集成Adobe AIR的支持,设计师和开发者可以利用Dreamweaver的界面和工具来构建和调试运行在AIR平台上的应用。 描述中提到的“dreamweaver的adobe air扩展Adobe_AIR.mxp”是这个扩展的具体文件,.mxp文件是...

    adobe air runtime version 33.1.1.744 for Mac

    从标签"macos"我们可以知道这是与苹果的Mac操作系统相关的,"adobeairRuntime"和"adobeair"进一步强调了这个软件是关于Adobe AIR运行时的。 在压缩包文件名称"AdobeAIR-Runtime-Mac-v33.1.1.744"中,我们可以推断出...

    adobe air runtime version 50.2.4.1 for windows

    在标签中,"windows"指明了操作系统平台,"AdobeAirRuntime"是关键词,强调了我们讨论的主题,而"adobeair"则是对主题的另一种表述。 压缩包内的文件"AdobeAIR-runtime-Windows-v50.2.4.1"很可能是Adobe AIR运行时...

    Adobe AIR 阅读器

    .AIR文件是Adobe AIR应用程序的打包格式,包含了所有必要的组件和资源,用户可以通过这个阅读器来安装和运行基于Adobe AIR技术构建的应用程序。 描述中提到了"Ext2.2的正式文档",这可能指的是某个基于Adobe AIR...

    as3 adobe air ios airplay

    【标题】AS3 Adobe AIR iOS AirPlay 在iOS设备上,Adobe AIR允许开发者创建能够利用Apple的AirPlay技术的应用程序。AirPlay是一项功能,让用户可以通过Wi-Fi将音频、视频甚至是屏幕镜像从一个设备无线传输到其他...

    AdobeAIR入门教程

    2. **安装和配置**:学习如何在不同的操作系统(如Windows、Mac OS)上安装和配置Adobe AIR SDK,以及如何设置开发环境,包括集成开发环境(IDE)如Flash Builder或IntelliJ IDEA。 3. **开发环境**:熟悉使用Flex...

    Adobe Air Programming Unleashed

    本书主要介绍了如何利用Adobe AIR进行应用程序开发,并深入探讨了相关的技术和最佳实践。 #### 二、核心知识点 1. **Adobe AIR简介** - **定义与特点**:Adobe AIR是一个跨平台的运行时环境,可以运行用Flash、...

    adobe air runtime version 33.1.1.744 for windows

    Adobe AIR runtime 33.1.1.744的文件名"AdobeAIR-runtime-Windows-v33.1.1.744"表明这是专为Windows设计的,文件包含了所有必要的组件,使得用户能够在Windows系统上顺畅地运行AIR应用。 使用Adobe AIR开发的应用...

    adobe air 入门示例

    9. **调试与测试**:开发过程中,调试和测试是必不可少的环节,文章可能介绍使用Adobe AIR Debug Launcher(ADL)和AIR Debugging Library(ADL)进行调试的方法。 10. **最佳实践和资源**:最后,作者可能会分享...

    Adobe AIR权威指南

    《Adobe AIR权威指南》是一本深入探讨Adobe AIR技术的专业书籍,适合初学者和有经验的开发者作为学习和参考。Adobe AIR(Adobe Integrated Runtime)是一种跨平台的运行环境,它允许开发人员使用Flash、ActionScript...

    使用AdobeAIR开发android应用

    对于Android开发者而言,Adobe AIR提供了一种将这些Web技术应用于移动平台的方法,使得开发者能够利用已有的技能和工具,快速构建功能丰富的Android应用。 ### Adobe AIR在Android应用开发中的角色 Adobe AIR为...

    adobeair残留清理完美版本

    使用"adobeair残留清理完美版本"这样的工具,用户可以避免手动查找和删除这些残留文件的麻烦,同时减少错误操作导致的系统问题。这个工具的智能识别功能可以确保只清理与Adobe AIR相关的文件,避免误删其他系统文件...

    adobe air 安装包part1

    adobe air 安装包part1adobe air 安装包part1adobe air 安装包part1adobe air 安装包part1

    flash adobe air 采集音视频 软件

    标题中的“flash adobe air 采集音视频 软件”指的是使用Adobe AIR技术开发的,能够捕获、处理和推流音视频的软件应用。Adobe AIR(Adobe Integrated Runtime)是一个跨平台的运行环境,允许开发者使用Flash、Flex或...

    Adobe AIR 开发人员工具箱

    学习Adobe AIR开发,可以通过网络上的各种教程和资源,例如JavaEye社区提供的“Adobe AIR 开发人员工具箱:资源与教程”一文,该文提供了关于AIR开发的实用信息和指导,是初学者的良好参考资料。通过这些资源,...

    AdobeAIR.dmg

    AdobeAIR.dmg

    adobe air1.1中文版

    这个“Adobe AIR 1.1中文版”是针对中国用户的一个早期版本,提供了对简体中文的支持,使得国内用户能够更方便地安装和使用基于AIR技术的应用。 AIR的主要功能在于它为Web开发者提供了一个桥梁,让他们可以将Web...

    Adobe AIR 1.5 中文帮助手册

    1.5版本是Adobe AIR的一个重要里程碑,它为开发者提供了更多的功能和改进,使得Web应用可以更流畅地运行在用户的桌面环境中。 1. **Adobe AIR概述** Adobe AIR为开发人员提供了一个集成的开发环境,可以利用Web...

Global site tag (gtag.js) - Google Analytics