Adobe AIR、Microsoft WPF和Mozilla Firefox三分天下

未来,Adobe AIR、Microsoft WPF和Mozilla Firefox将会“三分天下”;它们甚至会在用户的计算机中长期共存,同时为各种应用提供运行平台。

这是我对未来RIA应用趋势的看法。关于作出这一结论的理由,我想先抛开具体技术体系不谈,从自己作为一名普通用户(而不是开发人员,更非创业者)对互联网这个行业的期望说起。

1、感性(玩具为主的需求:闲聊、灌水、异性交往)到理性(工具为主的需求:高效率、更稳定、更安全、更丰富、更有现实意义)的需求转变前期

第一次接触互联网是97年。那年去武汉电信开通了拨号上网业务,拿到一个@public.wh.hb.cn的邮箱。虽然看起来很“笨重”而且还没有Web登录界面,但却是很少人能拥有的东西。这个邮箱也成为了我在互联网上最初的身份标识。

那时没有QQ,也没有百度,更别提国外的Google了,即便上了网,获取信息的渠道也非常有限:除了“武汉热线”,我不知道还有什么网站可以上。“命令与征服”的官方网站westwood.com是我第一个访问的国外网站:非常简陋的页面,没什么内容,更别提交互。

后来,有了中学论坛和QQ,更多的需求就是与人交流,更准确地说,是与人交往。一个在保守家庭接受应试教育十几年的孩子,加上本性内向的童年生活,让我觉得在互联网上与他人(尤其是异性)交流是一件如此愉悦的事情。无论如何,我可以肯定在那个年代,学生用户中99%的人都是冲着找异性聊天去的。在这样一个两性话题被如此禁锢的文化氛围中,互联网满足了数以万计人的本能需求:异性社交。然而,中国人毕竟以保守为主,于是大家都“曲线救国”,其实想跟异性讨个近乎,却要绕一大圈天文地理,那是一个闲聊泛滥的时代。也是造就“QQ神话”的时代。

随着信息的进一步开放,竞争的进一步激烈,除了一部分被网络游戏蚕食掉灵魂外,越来越多的人停止了闲聊。我认为,中国的互联网已经不满足于这样一个雏形,即将进入新的时代,那个时代的标志是MSN“趁虚而入”,高调地宣扬自己“白领专用”,这是一个多么明显的推广技巧,却让MSN被无数人奉为“白领身份”的象征。然而无论如何,放弃闲聊而冷静地思考如何利用互联网为自己创造真实价值是一件非常有意义也非常有意思的事情。人们之间交流话题也不再是“你多大了,你家在哪”这样的内容了。

然而,跑在浏览器里的单调内容,让上网效率非常低下。常常一上午泡在网上却没干什么事。就在这个时候,开始出现了搜索引擎(北大的天网)和分类社区(例如校园BBS、行业BBS),人们检索信息的速度更快了。

随着互联网的普及,尤其随着客户端应用(C/S)与浏览器端应用(B/S)相比之下的“麻烦和笨重”,越来越多基于浏览器技术的Web应用开始出现。当C++程序员还在嘲笑那些改人家HTML代码的“浮躁的计算机初学者”连TCP/IP协议是什么都搞不清楚的时候,Web Developer(Web Designer)这个团体正在悄悄地形成。当.com风暴将真金白银带给互联网从业人员的时候,那些传统软件开发人员傻眼了。虽然之后的互联网行业遇到了泡沫遭受了重创,但我认为那并非一件坏事:一方面,老用户开始仔细思考互联网产品究竟能为自己带来什么;另一方面,大洪水的洗礼让行业中许多粗糙产品逐渐消亡。又适逢电信利用ADSL疯狂地扩张宽带接入点,更多的人们开始上网,这些非计算机类专业人士的涌入,让互联网彻底有了活力!原来那些只有“专业人士”才能理解的“表单”、“菜单”、“按钮”在大众面前显得未免过于唐突。普通网民更喜欢动画、图形、影视这些多媒体的展现方式。

互联网已由一个技术平台悄悄转变为媒体。遗憾的是,许多人不愿意承认这一点。而且,有越来越多的专家开始指责互联网对年轻人的影响。其实这种指责中所包含的许多问题,是只有互联网本身才可以解决的。RSS和SNS类产品的出现,让人们可以花比之前更短的时间完成同样复杂的任务。而在我看来,未来的互联网一定是要让人们在最短的时间里离开互联网回到线下。这一点,Google是伟大的,它们一直信守类似的理念:让用户在最短的时间内找到想要的信息,然后离开Google。那些靠欺诈点击来欺骗PV和眼球的二流新闻站、下载站如果想在互联网的发展中生存下来,长远之计显然是去切实为用户提供便利。

于是,我们有了DiggFlickr、Delicious、Netvibes、Wikipedia、YoutubeWordPress等等这些完全免费但又令人无比振奋的服务。无论是什么行业的人,都能从中获益。

总结:这个阶段,B/S蓬勃发展,仿佛一夜之间,到处都是“网站制作”的需求;即便是泡沫之后,Web2.0仍在不断提醒人们,B/S架构的重要性和“商业前景”。而依靠传统C/S业务发大财的Tencent,则非常及时地拿下了“qq.com”这个域名,实在是非常成功的战略决策。

2、技术平台的发展

然而,这些仅仅基于浏览器的应用在大众面前终究是低效的:并不是不来自产品设计人员创意的干涸,而是源自浏览器本身。例如我有一段视频要上传到Youtube,还得点击“浏览”,然后点击“确定”,如果我传到一半停电了,就会前功尽弃。更可怕的是,如果我有100张图片要上传到Flickr,我必须点一百次“浏览”、“确定”……

当用户需要“更快、更稳定、更丰富”的服务时,仅凭现在的IE6、Firefox2显然不够:单调乏味的界面、相互的不兼容性、标准的争议、渲染能力的瓶颈、种种安全性限制导致对本地宝贵资源的无能为力:例如,需要保存数据到本地、需要在网络连接断开后不会导致任何数据丢失。

“更快更稳更丰富”的需求必然在未来更加强烈,于是,AdobeMicrosoft和Mozilla开始提供各自的解决方案,而我(个人)将这种类型的应用称为“基于互联网技术的客户端富展现应用”(姑且叫做“Rich Internet Application on Desktop” – “RIA-D”吧):与普通的Web应用相比较,它的功能更加强大,但又无需C++、Delphi、Java这些传统而复杂的开发技术介入,只需利用现有的Web技术进行“组合”再调用各类运行平台提供的API即可。

它并不是的C++或者Delphi写出来的桌面软件,而是通过Web技术向桌面过渡的一种轻量应用程序。往往可以以核心的Web技术为开发基石,例如XHTML1,JavaScript1,CSS2,ActionScript2/3甚至未来的XHTML2,HTML5等等……

下面,我简单分享一下我对这“三分天下”的三家的看法:

  1. Adobe AIR
    利用Macromedia当年FlashPlayer积累下的绝对优势来向外“辐射”AIR应用:一方面,RIA-D产品能做到无缝安装,体验流畅;另一方面,开发者资源是Adobe最大的优势:Web Developer(HTMLCSSAJAX等)和ActionScript Developer的结合是一股强大的势力,不容忽视。想到这里,我不禁回想起当年Macromedia被收购时,曾有一位Adobe的高管表示它们买的就是Flash。我觉得更可以说,他们买的是FlashPlayer这个在大众计算机上极强的渗透力和Macromedia对开发者、设计师极强的社区粘度(这一点,国内知名WPF设计师Allan也有提到)。
    总结优势:极大的FlashPlayer覆盖率,即便是初次安装Adobe AIR,也能做到“无缝”的感觉:用户不会被强硬的“下载”过程所干扰。此外,绝大多数设计师都是Flash、PhotoShop的忠实用户,我们都知道,让设计师改变使用习惯比让程序员要困难得多,这恐怕也是微软头痛的地方:你招一个不用Adobe Flash做动画,不用Adobe Photoshop做设计的设计师恐怕会比较困难。
  2. Microsoft WPF
    微软是一部巨大的商业机器。他们似乎永远都不缺钱和赚钱的方法。这一部赚钱机器投入到RIA-D应用,利用本身的平台优势进行“辐射”是非常迅猛的。在水木清华的WebGeek版看到一组数据表明,在微软与一些互联网/传媒巨头(NBC、AOL、Nokia、Baidu、Tencent、DoubleClick等)进行合作的大背景下,每天装机量已经达到150万次!
    总结优势:强大的商业机器,强大的资金支持以及度天独厚的平台支撑。毕竟现在Windows操作系统还是主流中的主流。你可以主观地讨厌它,但你永远不能忽略它。
  3. Mozilla Firefox(3及后续版本)
    Mozilla?没错,就是做Firefox的那个Mozilla!
    Mozilla的背后是开源社区的支持,或者说是一个逐渐成长的生态系统。令微软更头疼的,这一群对IE恨之入骨的Web Geek在Web 2.0舆论导向中的作用毫不逊色于各类机构媒体(比如在Digg和Browse Happy,可以看到不同背景的人对IE表示“极大的失望”)。今年3月,AOL正式宣布了Netscape死亡,这也许加速了所有对IE有情绪的人更加坚定地加入到“Mozilla Firefox阵营”。现在把Mozilla Firefox和Adobe AIR、Microsoft WPF相比也许还有些“奇怪”,但我认为他们之间功能的重复竞争是迟早要爆发的:Firefox作为一款独立开源的浏览器,在Web和桌面之间的平衡位置非常难得,再加上没有垄断问题所带来的法律麻烦。一些简单的产品肯定是比Adobe AIR和WPF有更快速的“抵达率”的。说了这么多,来一个具体的例子也许大家会有点感觉:比如TwitterFox(基于Firefox) 和Twhirl(基于Adobe AIR)之间的关系,就颇有点这个意思。
    总结优势:忠实、甚至“病态忠实”的使用者。他们对一切非HTML、JavaScript的展现怀有偏见。于是,开源社区的支持,以及极端意识形态者的舆论导向,再加上本身作为一款浏览器平台,同样装在用户的电脑里,Firefox想要自己干点什么出来,比FlashPlayer还是方便百倍的。

后附:观察国内的情况,Firefox情况并不像美国、印度那么乐观。百度贴吧中的许多网友已经把“火狐”认定为十恶不赦的流氓软件,而中国的“开源社区”更是只有去年王开源冲上Bill Gates的讲台呐喊给大多数人留下了一点印象(且不论好坏)。在中国,大多数人上网还是去满足感性(或者生理)需求:聊天、看小说、泡妞。做这些事情,Firefox比IE没有什么太大的优势。相反,其安装、上手成本倒成了最大的壁垒。附一组数据作证,去年到今年我的Blog(仅含www.awflasher.com数据)访问者中浏览器的分布情况如下:

  1. 89.38% – Internet Explorer 1,733,472
  2. 9.58% – Firefox 185,826
  3. 0.56% – Opera 10,833
  4. 0.21% – Safari 3,985

而这些访问者中,来自美国的浏览器分布情况如下:

  1. IE 14057
  2. Firefox 6908
  3. Opera 155

可以看到在美国用户中,Firefox较之IE的优势是非常明显的。

PS:请任何看到我将中国数据和美国数据对比就开口大骂的无素质人士不要在我这个“崇洋媚外”的Blog上浪费时间。

AIR攻坚战 – Adobe收购Virtual Ubiquity

转载请保留出处:《AIR攻坚战 – Adobe收购Virtual Ubiquity》http://www.awflasher.com/blog/archives/1072

10月1日,Adobe终于对外宣布其收购Virtual Ubiquity的决定。这家在波斯顿的创业公司(Start-up)早先曾经接受过Adobe基金计划(Adobe决定对“使用其应用,或者开发、架构体系”的创业公司给予总计一亿美元的投资)。他们拥有强大的在线文字处理系统Buzzword,我们可以在这里看到一些截图。

Google Docs, Zoho Writer, Glide Write, ajaxWrite, ThinkFree一样,Buzzword是基于Flex开发的一套在线文字处理系统。Adobe认为,它最大的成功之处就是吸收了Flex开发平台的优势(其实Adobe更希望它们的Flex能卖的更多,真是狠赚啊)。

个人认为,Buzzword是Adobe下一个重量级AIR应用的攻坚战。虽然Adobe提出,在明年的时候才会发布AIR安装包。但这足以让人感到振奋:

对于Macromedia长久以来的文本渲染软肋,Adobe到底能否拿下?其实,对于FlashPlayer端来说,我还是不太乐观的。但我相信,很多朋友和我一样,都寄希望于AIR的WebKit引擎。然而,在之前的AIR Press中,我们看到的答案其实是很清楚:AIR Runtime的beta版,在文本方面,有些捉襟见肘的感觉。而中文等其他非西欧体系文字,更是被作者直接忽略了。

Buzzword毕竟是一个公司开发出来的正规产品,它受到Adobe的整合,这是AIR Press和Pownce所“望尘莫及”的。因此,让我们拭目以待吧!

这次,我不想再说这意味着什么?我并不觉得这意味着Office、Word的灭亡。至少非常漫长的一段时间,都会有人使用Word,哪怕它是一个如此不靠谱的玩意,看看这些文章:《接收Word文件可能造成的危害》《为什么邮件中含有Word附件是一件坏事情(请不要发给我Word文档)》,已经发布这么多年了,我仍然在收到无数的Word格式的简历(当然,除非是事先约好,否则我一概删除);在做毕业设计时,导师们只看得懂Word:)

今后的软件世界,将进一步多元化。人们各有所好,各取所需。己之所好,莫强于人

AIR Press – 基于AIR的Blog客户端维护程序

这款“AIR Press”类似之前提到的ZoundryWindowsLiveWriter,可以离线的管理你的Blog文章。让我关注的是,AIR Press是基于Adobe AIR环境的。通俗点说,也就是把Flash和HTML以及本地文件操作API打包发布到桌面的一种增强体验。

虽然AdobeAIR仍然在Beta阶段,但仍然涌现了不少“大型作品”,例如PownceGoogle AnalyticsFUZE等等……而安装这些AIR程序,由于有FlashPlayer9的存在,体验上有很大的优势。相信更多优秀的ApolloAIR)应用在Adobe对AIR的继续完善下会越来越多。

当然,如同Pownce不支持中文一样,这款AIR Press也有一些遗憾。Blog维护客户端最关键的就是HTML渲染引擎,而AIR现在的WebKit,实在有点让人觉得不靠谱。此外,我们这些中文Blogger拿到这个东西,毫无用处:既无法阅读以前的中文日志,也无法发布含有中文的日志。本来想通过AIR Press来发布这篇文章,由于中文不支持,只好用回Windows Live Writer……

设计上,让我不明白为什么要用“Shape Tween”来做界面的转换:这是Flash在很早版本就支持的一种“把一个形状过渡到另一个形状”的动画效果。Flash初学者非常喜欢使用这种效果。我记得五年前我第一次接触Flash的时候,用这个效果把一个正方形变成了一个五角星,就兴奋不已。但越往后走越觉得这效果很轻浮。现在正规的大项目,除了特殊的细节处理,几乎很少看到人们使用这种效果了。

我觉得在Apollo改善WebKit和中文支持之前,没有必要去体验,因为完全没有什么可体验的。如果感兴趣的话,看看我的截图吧:

Google Analytics on AIR – 将你的流量变成艺术

更新:Google Analytics AIR  已经发布了对AIR beta2的支持

注意:Google Analytics AIR截至今日并没有更新对10月1日Adobe AIR b2的发行版支持,因此。如果你升级了Adobe AIR到b2,就无法运行之前的Google Analytics AIR了。在这个AIR的开发者更新之前,我们只能先暂时删除AIR b2重新安装AIR b1

更新:已经支持简体中文

AIR+Mashup(on API) is a dream,如果说2007年是Widget年,那则意味着所有Developer的命运将在这一年发生变革。我们看到了AIR、Yahoo Widget、Sun的JavaFX甚至包括微软都在WPF上投入了大量的兵力。而另一边,Facebook则依靠它3000多个API一举疯狂地成为了最大的SNS机器,MySpace在Alexa的数据再漂亮,也没有任何的意义。

经过8个月的漫长等待,今天看到了久违的Google Analytics on the AIR,每一个拥有Google Analytics帐号的朋友们都可以下载(输入你的Email就会接收到下载地址链接了)

一些我比较喜欢的特点:

  1. 可控的多个Profile,这样我可以通过不同的帐号管理不同的站点,而无需被浏览器的Cookie所困扰:
  2. 地图整合了Google的API,更加有趣。(Google Analytics官方自己都没有整合)
  3. 支持多个tab页查看,而且,由于ActionScript3和Flashplayer AVM2的支持,切换时渲染效率更高,这比在网页中查看又有了更加舒适的体验!

当然,比较遗憾的是,不支持中文,至少在常见关键词(也就是Google中搜索哪个关键词可以到达你的网站)列表中,所有的中文不被显示。

无论如何,我不得不再次为Macromedia精神所折服。虽然Macromedia作为一家公司已经不复存在,但它的艺术精神却如此深入人心。即便是被Adobe这样传统的公司所继承下衣钵,Macromeida无穷的创造力也从来没有消失。

基于Adobe AIR的一体化IM系统FUZE已可下载

(发现不少朋友搜索“Adobe AIR” 来到这里,要下载Runtime,在这里下载:PC苹果,此外,由于早先开发的一些AIR演示不支持AIR beta2,因此你可以下载到AIR beta1,在这里

经过漫长的等待,终于等到了“FUZE”上线。本来准备睡觉了,看到GMail中Huntington发来的邮件,说FUZE已经上线开始Beta测试了。于是赶紧装了一个体验了一把。

AIR的安装过程就是Smooth、Sexy,直接在FlashPlayer9下安装AIR包(RunTime也可以的),然后运行。注册一个ID就可以使用了。可以集成MSN、GTalk、Yahoo、AIM等等一些常用IM应用的帐号进行“托管”。

废话不多说了,大家自己体验一下吧:

http://www.mikehuntington.com/techblog – 点右侧边栏Flash中的“INSTALL NOW”

我个人觉得这些五花八门的IM托管平台,例如PidginMiranda等等,都非常有前途。然而基于AIR的FUZE则利用AIR平台本身的优势(低安装成本、低开发成本、易整合性、跨平台能力),很可能能够做出更容易让更多的WebDeveloper切入的IM-MashUp应用!到那时,相信腾讯QQ也会开始考虑支持XMPP吧(封闭总有一天会灭亡)。

最后,如果你对AIR,以及它背后的ActionScript3感兴趣,也可以加入到ActionScript 3 Lover(as3blog.com)中来。

Pownce第二轮邀请到手(0709)

2007年7月9日,所有的Pownce用户都收到新增的6个邀请!大家可以继续索取,或者发给已经拿到邀请的朋友们。如果很不巧你仍然没有得到邀请,也可以去Pownce的首页输入自己的邮箱索取:)

我的Pownce:http://pownce.com/awflasher

我的另一个Pownce: http://pownce.com/flash

继上次6个邀请送出后,目前Pownce邀请又有5个,非常宝贵。(20070704)

需要的朋友请留言,考虑到留言人数可能会激增,我的条件只有一个:你们拿到邀请之后,务必留下联系方式,以便更多的朋友能拿到自己的Pownce邀请:)

我已经用Adobe AIR的客户端体验起来了,非常精致!

参见下图:

AIR – 携创业梦起飞(含大量AIR资源)

Okay,Okay… 纵有再多的”Known Issues”,Adobe AIR的时代还是到来了:)

Digg.com的创始人Kevin Rose在利用Digg.com搞定Slashdot.com之后,除了从Google获得每月25万美圆的广告收入之外,又有新的举动了:Pownce

可惜,目前注册需要邀请码,我已经向在Pownce的Blog发表评论寻求,已经拿到了6个Pownce的邀请

虽然一时间还体会不到AIR-IM的快感,但另人兴奋的是,昨天已经尝试了一些利用AIR制作IM的思路并有了具体的code,实在等不急咱自己也做一个:)

对于想要动手玩AIR的Flasher和WebDeveloper,可以看看如下资源(不分先后):

Continue reading “AIR – 携创业梦起飞(含大量AIR资源)”

用FlashCS3开发透明的AIR(Apollo)应用

该方法适用于所有不习惯Flex或者暂时不希望介入Flex Builder2、3开发的开发人员。转载请保留出处:用FlashCS3开发透明的AIR(Apollo)应用 – http://www.awflasher.com/blog/archives/947

【更新】开发步骤详细截图(共19张)我发布在as3blog.com了:忘记MXML,用CS3携Apollo起飞!(http://as3blog.com/as3/cs3-develop-air)

虽然我们并不使用Flex3作为开发环境,但我们需要准备Flex3和Flex3 SDK,这可以在Adobe官方找到。其缘由是,我们需要用Flex3作为AIR文件的发布工具,而Flex3 SDK,可以为我们提供一个非常重要的swc文件:airglobal.swc。我们需要采用这个ariglobal.swc的文件,替换Flash CS3安装目录中的“enConfigurationActionScript 3.0Classesplayerglobal.swc”,这一步非常重要。因为我们需要让FlashCS3的编译器知道,AIR的Runtime所提供的API。否则,在FlashCS3中所有对AIR的API调用将是不能通过编译器编译,进而无法生成SWF文件的。

然后,我们回到Flex Builder3中。建立一个AIR项目,并且修改AIR项目的配置xml文件(你的AIR项目如果是MyAir那么你的AIR配置xml文件将是MyAir-app.xml),找到rootContent结点,例如我的项目叫做“awflasher”,那么在xml文件中,会有如此一段内容:

<rootContent systemChrome="none"transparent="true" visible="true">awflasher.swf</rootContent>

这其中的“awflasher.swf”就是我们通过Flash CS3编译得到的。回过头我再解释一下为什么要copy那个airglobal.swc覆盖playerglobal.swc,是因为,我们在Flash CS3中,可能会有如下的代码:

awflasher_mc.addEventListener(flash.events.MouseEvent.MOUSE_DOWN, go);function go(someEvent)
{
stage.window.startMove();
}

其中的stage.window.startMove中,无论是window对象还是startMove方法,都需要AIR的API提供支持。虽然AIR Runtime显然会提供支持,但是Flash CS3的编译器在之前的playerglobal.swc中是无法辨别这些API的。因此才需要刚才说到的那一步。

后附实际运行截图以及AIR文件如下: Continue reading “用FlashCS3开发透明的AIR(Apollo)应用”

Adobe AIR on Facebook – 一次愉悦的个人体验

Facebook采用 Adobe AIR 技术,作为一个工作在Adobe产品包上的开发者和一个Facebook的用户,这无疑是一件令人愉悦的事情。如果我是Adobe,我想,Microsoft去”讨好”OEM销售商捆绑silverlight并不是最可怕的,可怕的是Microsoft和Sohu、Tencent这样的大Web企业进行战略合作:试想,用户每访问一次sohublog就要让你下载一次silverlight的Runtime,用户安装率能低么。当然,这必然影响用户体验,Sohu和Tencent能以何种程度进行合作也是一个关键问题。

作者Mike Huntington表示,后期甚至会提供视频聊天功能,这实在令人兴奋。而也有读者建议能进一步支持Jabber/XMPP协议。

在中国,虽然QQ、校内通这两款我喜爱的软件都没有提供API,但仍然看到”饭否”勇敢地一共了API并迅速获得了大量第三方插件的支持,我相信Adobe AIR在配合各类服务的API方面,还是有得天独厚的优势和市场潜力的!

Silverlight研讨会

今天去参加了北京微软silverlight技术社区研讨会。虽然到场嘉宾不多,但还是有些收获的。而且很高兴终于见到了神交已久的温飞飞同学:)

期初氛围比较沉静,不过逐渐放开之后,就开始有比较激烈的讨论了。尤其针对SilverlightFlashWPFApollo(AIR)之间的许多竞争、互补作了讨论。能够零距离接触微软的Silverlight,我想不仅仅是了解微软的这项与Adobe产品线全面对抗的技术体系,更是了解微软的意识形态和他们的philosophy。其实现今的微软在web领域所投入的重视,绝对不容小视。微软也不再傲慢地小看Flex、Apollo这些竞争对手,而是通过各种活动来寻找自身的不足。这一点确实反映了微软的魄力,并一定会给”Apollo阵营”的开发者们开始造成压力。

非常感谢王洪超@MS和王超群@MS做出的精彩展示,让我真正体会到了Silverlight的一些特性和优势(具体细节后续我会有详细地分析)。以下带来一些图片:

Continue reading “Silverlight研讨会”