首先申明:我不是adobe雇佣的枪手,我也从不认识adobe的人。我只是一名被C/S和B/S长期困扰希望寻找一套解决方案的人。
昨天去参加了adobe AIR 发布会
adobe是业界著名的客户端展现工具和展现设计工具提供商。
展现工具:PDF、FLASH。展现设计工具:photoshop、Dreamwaver、FLASH。
很多人都疑问AIR有什么用。昨天在会场也有同学提出了这个问题。既然有了AJAX 纯的JS的客户端表现组件包,如最近刚获得金牛奖的ZK组件包,那为何要有AIR?
我给大家解释解释。大家都能看到现在的趋势:互联网软件在向客户端融合,客户端在向互联网融合。
互联网企业发源于WEB世界,那么它要延伸互联网,必须要基于现在自己的优势和根。JS技术,这种根植于网络世界的技术就是最理想的选择。使用惯了WEB应用软件的用户,对于本地安装一个软件,本地软件那样的操作习惯就感到很奇怪。
而对于习惯了使用本地软件的用户,现在开始有了互联网跨出局域网的业务需求了,怎么办?一种办法当然是给他们另外开发一套B/S企业管理软件,但他们怎么使用都不顺手。
于是AIR产生。让他们能满足互联网处理,又能像本地软件一样操作。
又 有客官问了,听过微软也推出了一种客户端跨互联网处理的技术,叫WPF和WCF。微软是客户端的霸主,而且微软的开发工具也是一流的,adobe既不熟悉 开发工具这行当,也没有客户端优势,微软在OS层面做点手脚,就像当年给netscape下点药做点限制一样,AIR就没前途了。
但是,但是。这个世界总有但是。
要 知道,做企业管理软件应用,很重要的就是数据安全。要把自己的数据和业务处理放到公网上,就有担忧。但是企业发展必须跨互联网,有需求啊。那怎么办?用微 软的?太不安全了。于是挑选了JAVA。但JAVA一直雄霸于服务器端,客户端JAVA也没有经验啊。从早期的Applet,到Swing,都以失败告 终。不能让JAVA的服务器端配合WPF的客户端吧?于是AIR出场了。
adobe也很聪明,知道微软这个长年想扩展到互联网却屡屡受挫的困兽,必然拼了老命也要推自己的WPF和WCF技术,这是微软未来的命啊。想在这个霸主的肩膀上吃肉,是比登天难。于是祭出微软最害怕的一招:开源、免费、基于开放技术标准、跨平台。
adobe 不擅长开发工具的开发,那就不开发。况且这个世界上除了微软世界的visual studio工具外,微软的对立阵营就有最开放的eclipse。eclipse已经不仅仅是一个JAVA的开发IDE,现在Ruby、PHP、C++、 Python都在它上面有插件。于是adobe也把自己插在上面。跟着程序员大潮走,让程序员使用自己最熟悉的IDE开发AIR。
adobe 一直擅长客户端表现,所以adobe也没有必要提供一个从服务器到客户端一整套技术方案。说白了,AIR就是一个和AJAX组件包一个层次的解决方案。主 要用于客户端表现。这点非常重要。许多同学没有看清这一点,和DELPHI比,和JAVA比,和.net比。其实AIR就专注客户端表现。你的业务层完全 可以用PHP、JAVA、C#来写。再说了,AIR技术,内在其实就是HTML+JAVAScript,只不过改进了一些,换了个名字,叫MXML和 ActionScript。微软的WPF技术,也是这两个技术组成。大家都是一路子。
PDF抓住了PC时代,FLASH抓住了浏览器时代, AIR是要抓住浏览器和PC融合的时代。这也是adobe的命根,所以两家公司都拼了命。微软有其强大的现实客户和研究开发中心和营销手段,adobe则 采用了最开放最联盟来对抗,让微软一家公司之力来对抗全球开放的程序员。
WPF仅限于微软平台,虽然sliverlight号称以后也要垮MAC和LINUX平台。但我说的比较是AIR和WPF,而非FLEX和Sliverlight这两种技术。
我对FLEX和Sliverlight这两种技术一直心存怀疑。他们到底是给什么用户用的呢?习惯于浏览器的用户?人家有AJAX组件包啊,优秀开源的N多,商业的也N多。习惯于本地运行软件的用户?人家有AIR和WPF这两种技术啊。
FLEX和Sliverlight这两种技术产生,我来解释一下我自己的观点。
adobe的AIR还没有炼成。FLASH是adobe现在的优势。要想走到目的地,FLASH必须是自己的跳板,于是FLEX必须作为过渡。
而 微软呢?VISTA本来就是微软最寄予希望的操作系统,原生的.net framework 3.0,而且全部用.net重写,一流的面向service的操作系统,圆了当年微软COM之梦。而且.net framework 3.0最主要的技术WPF、WCF,还有一个夫死胎中的WF,其实都是很有未来前瞻的技术,但由于技术难度太大,当然也由于太多人看透了微软在互联网战略 的陌生和迟疑和旧有EXE技术思想,所以都跑到了纯正的互联网公司,给VISTA形成了难产。微软希望能无缝且毫无体验差异的整合互联网和本地。但是这个 过程太漫长了。眼看着adobe利用FLASH做跳板,以占领自己未来想占领的位置,自己能不能到达目的地还不好说,于是在急匆匆中推出了 sliverlight。其实微软本来没有sliverlight研究计划,希望借助VISTA一举掀开未来大幕,但VISTA不争气,没掀好,于是必须 应急。
所以,奉劝开发惯了网站的程序员,继续拿起你们的AJAX,因为你们不理解人们为什么要用AIR。
对于开发惯了EXE的程序员,继续使用AIR或WPF来开发你们的下一代产品,别想着用FLEX。习惯用微软技术的就用WPF,习惯用非微软技术的,就选择AIR。就这么简单。
我给大家列了一个对比列表,大家可以理解这个新技术和过去技术的相似和关联。
AIR runtime=.net framework=JVM
AIR=WPF=JAVA Application
FLEX=Sliverlight=JAVA Applet
至 于Google Gears,是互联网向桌面融合的产物,而我们今天讨论的是桌面向互联网融合。虽然Google Gears、JAVA JSF、Adobe AIR/FLEX、微软WPF/Sliverlight都是RIA的解决方案。但都是各自从各自的优势出发发展的技术方案
最后结尾总结关键几句:
1 AIR是给习惯开发EXE程序员准备的非微软技术的互联网解决方案。习惯微软技术的请离开,习惯网站的请离开
2 AIR工作在表现层。AIR只是一个客户端表现,和AJAX是一样的。都是HTML+JAVASCIRPT。不要奢望它能做各种业务处理和运算。你的业务 可以包装成webservice,也可以是PHP或JSP或asp.net页面,调用方式可以是webservice,可以是httpservice,可 以是remoting。这样你的业务层就可以和表现层AIR交流数据了
3 AIR IDE只是HTML+AVACRIPT设计和调试工具,所以你也别奢望AIR IDE能象JAVA和C#的IDE环境那样强大。你过去怎么设计和调试HTML+JAVASCRIPT,那么你现在仍然保持那种心态。
4 AIR不是FLASH。他们是两种不同的应用目的和技术发展方向。不要用FLASH开发企业管理软件,也不要用AIR开发多媒体。虽然能,但不擅长(就如 你拿C来开发WEB)。AIR不需要运行在浏览器中,不需要使用FLASH容器。AIR有自己的容器和运行环境。AIR和你的EXE是一样的安装和执行。
5AIR 和WPF都处于不成熟期,可以作项目,但不要把宝押在他们上面做下一代产品线(预计下下版应该可以进行企业下一代产品线开发,一般都是软件3个版本后才强 壮稳定起来,按照竞争的激烈程度,这个第三个正式版本时间会在明年的上半年)。不过你也不要等待他们成熟后再做再研究,这样的等待就如同2001年等待 JAVA成熟一样。现在JAVA是成熟了,但是你还有机会么?
6不要怀疑AIR和WPF是不是未来。业界早有共识,这就是未来。不要在 GOOGLE WEBOS和客户端OS之间选择来选择去,如果你是网站开发人员,安心研究你的GOOGLE RIA技术。不要怀疑是跟微软还是跟adobe。如果你一直在微软的技术圈子中行走,那么你安心用你的WPF好了,都是未来。
7有许多人问起来了SEO在AIR和FLEX上的缺陷。说slivelight支持SEO和搜索友好。我想说的一句是:开发企业管理软件,怕的就是搜索,怕的就是企业数据被搜索引擎搜索到。不能搜索到才好呢
8AIR 为过去的EXE程序员提供了自动版本检测和自动升级的API,这是让C/S程序员非常兴奋的一件事。回想当年,客户端版本不一致,出了不少怪异的事情。 AIR也提供了离线后暂时保存数据到本地内嵌在AIR runtime中的sqlite(操作和平常SQL一样),继续操作软件,连线后同步数据。OK
9 你如果没有开发过MVC架构,没有用过COM多层开发,那么你不会明白业务层和表现层的分工和通讯的。你会一直想弄清楚怎么在AIR中写SQL语句或 JAVA语句。你也一直会想在servlet中写JAVASCRIPT和HTML代码。你还处在浆糊代码阶段,建议给自己的代码技术升升级。
想问我为什么关注AIR吗?
因 为我一直战斗在行业管理软件的开发上。我对于开发一套C/S,一套B/S,这样极耗费开发成本开发时间和维护成本的开发方式烦透了,要让两者操作习惯和功 能都保持一致,难。如果有了BUG,两个产品是两个开发团队,BUG都出在不同的地方,分别修改。让一个公司维护两套人马两个产品,在中国大部分都是小软 件作坊的现状下,哪个都做不好。不如做一个既是C/S又是B/S的软件。
那是多么美好的事情啊。
分享到:
相关推荐
adobe air 安装包part1adobe air 安装包part1adobe air 安装包part1adobe air 安装包part1
Adobe AIR技术学习Adobe AIR技术学习
dreamweaver的adobe air扩展Adobe_AIR.mxp
AdobeAIR.dmg
adobe air 安装包partadobe air 安装包part
Adobe Air Programming Unleashed
AdobeAIR入门教程,adobe公司内部资料,值得学习。
AdobeAIR是最新的播放器为用户提供方便
adobe air 安装包partadobe air 安装包part
adobe air 连接 airplay功能
针对 HTML 开发人员的 Adobe AIR 语言参考包括 Adobe AIR API 的详细信息。Adobe AIR API 通过 window.runtime 对象可以用于基于 HTML 的 AIR 应用程序中的 JavaScript 代码。您还可以通过 air 对象引用这些类,即在...
利用 Adobe® AIR® 技术,开发人员可以创建和打包跨平台游戏/适用于 iOS、Android、Windows 和 Mac OS 等主要平台的应用程序。
使用AdobeAIR开发android应用
adobeair 最新版 很多软件的基础运行环境,推荐下载
adobe AIR 安装环境,AIR运行时,没这个,AIR程序运行不了
flash adobe air 开发的财经音视频,rtmp推送。
解决AIR对ADOBE AIR的依赖,软件绿色版
adobe air for android v3.03 apk文件 在安卓上安装air平台
最新的adobe air运行环境,用于运行格式为air的应用程序
adobeair残留清理完美版本,智能快速清理底层残留。