打印

比较Adobe和M$的RIA解决方案

http://www.luar.com.hk/flashbook/archives/001366.php

比较Adobe和M$的RIA解决方案          (22-06-2007)

要比较Adobe和M$的RIA解决方案,本身颇难回答,因为从开发者角度出发,除非两者皆有涉猎,否则从技术、开发流程、团队合作等去说,受开发者本身认知多少所局限,还有官方所发表含宣传水份的公告误导。

所以我倾向以抽离角度去看,究竟RIA是什么?用户究竟又需要什么?经常听到有人说RIA就是将Web Application变得像Desktop Application。这是指界面上一样?保留类似Win Form东西?还是有Desktop Application的操作方式?

先说界面,从Macromedia起初抛出的RIA例子,我们可以看到,所谓RIA,着重以较图像,可视化的操作方式去处理数据,用Mouse控制比用键盘输入Data的机会较多。操作过程还要加一点动画,让用户感到非常炫目。为了达到这目标,所用的是Flash IDE,开发的人是一群既懂设计,又懂编程的Interactive Developer,以Flash MX开始,这群人已经有5年经验,因此究竟RIA变成甚么样,过去一直是由这群人去定义。

到了现在,我们见到Adobe将昨天Macromedia打倒,RIA定义变了质,由Flex 2产品去看,RIA就是要将Win Form东西在Browser/AIR里重建。从它将AS3彻底改写,以取悦传统Programmer的编写方法去发展,我从来不相信AVM改善效率等于要把过去的语法等东西否定。Flex 2提供组件,彻力让Programmer可以做一个象样点Win Form,可惜,Flex 2提供组件,质量、效能和可用性都很一般,根本做出来的Win Form,操作上跟Desktop Application仍然相差很远。RIA定义被一群既无美感,又不懂互动性和可用性Programmer操纵,可见不久将来会看到大量灰色、黑沉沉的 Flex Application出现来折腾用户。

至于Flash CS3, Adobe的策略根本是放弃它在RIA开发上贡献,Flash CS3是RIA开发上最没有改善,甚至倒退的升级版。

因此,对于兴趣或专注在RIA上Interactive Developer,现在是否有他们选择位置?我见到是没有,除非他们转到去Flex,还是转投M$,否则每天继续做一些广告文宣式的商业Flash站,写点Flash Games。

对于Desktop Application的操作方式,在RIA中有什么意义?答案是从可用性角度去出发--不要跟用户习惯作对。因此当初HTML Application的局限,很多用户习惯了操作方式无法实现,才有了当初Macromedia以Flash乘虚而入的RIA概念。因此我们去比较 RIA解决方案,可以从用户角度考虑,更要从用例考虑。

在保留Desktop Application操作方式上再加一点炫目动画,是从MacOSX开始,连Vista都要走方面,因此WPF很顺理成章,是M$给他们开发者的 Bonus。M$ Expression产品工具很齐全,缺的只是没有美工和Interactive Developer。Adobe通过AIR努力补圆Desktop Application上缺失,Adobe产品都很滥,可是就是没有真正有整合能力的工具给美工和Interactive Developer。一方有工具没有人才,一方则有人才没有工具。

这些5年经验Interactive Developer,你会怎样走?

从Desktop Application用例方面,Application除了键盘输入、Mouse操作,更包括跨软件的通讯,例如跨软件Copy-n-paste、 MacOSX不同软件可以通过Growl传讯等。因此,未来的RIA战场,其实是回到Desktop而不是Browser。

既然Adobe愚蠢地将RIA定义由图像,可视化的操作方式,变回Win Form上提升,放弃有经验的人才而取悦外人,跟M$等回到Desktop上大战,在Flex 2 Component质劣到跨软件的弱整合能力。我只看到它放弃最好士兵,最好战场,回到泥浆中背水一战。
本文章由luar发表。
       意见

    *

      一方有工具没有人才,一方则有人才没有工具。

      很赞同。VisualStudio背靠MSDN,资料丰富,而Silverlight相关的资料还太少,想深入很难。

      由youdu于22-06-2007发表
    *

      http://www.infoq.com/cn/news/2007/06/three-religions-of-ria
      RIA世界里的三种信仰

      这个文章对RIA以后的发展还有点比较独特的见解~~~

      由s5s5于22-06-2007发表
    *

      adobe取悦programmer不代表放弃interactive developer吧:)?

      由awflasher于22-06-2007发表
    *

      我已经看到厚此薄彼的情况。Flash CS3组件减少、没有Remoting组件、没有连接LDS组件、Action Panel AutoFormat会破坏程序代码、Close other tab功能取消了、Code Folding的功能依然简陋。将来所有Flash Player新功能, AIR开发都以Flex为主,最后才有可能给Flash,Flash在RIA开发中只沦为辅助Flex制作SWC的二线产品?Flash CS3感染Adobe过往Adobe自家产品恶习,体形庞大,超长时间Install过程,隔几天跑出来扰人的Bridge Updater等等。

      由luar于22-06-2007发表
    *

      其实我一路以来都怀疑 adobe 单纯地以为只要将使用 desktop application 的 user experience 直接搬到在browser 上就是体现了 RIA 的精髓,但这个想法明显地很蠢,adobe version 的 RIA 极其量只能说是在开发上较快的 network application,但论较能却连 Java 也远远落后。他们可能忘记了绝大部份出色的 RIA 都不是由那些满是bug 又不太美观的 components...所组成的... adobe bring flash to a dead end. 反观很多有实力的开发者用 ajax 做出了很多好东西...

      由subai于22-06-2007发表
    *

      “...Flash在RIA开发中只沦为辅助Flex制作SWC的二线产品...",在下也有此同感,Flex现在明显是Adobe发展战略天平上较Flash更重的那一端

      由shunz于23-06-2007发表
    *

      很认同 luar 这一篇文章~ 请问可以转贴分享吗?

      由alex于24-06-2007发表
    *

      可以

      由luar于24-06-2007发表
    *

      感谢!!

      由alex于24-06-2007发表
    *

      唯有标准化的语言才能让技术,设计,交互走的更远;原来的desinger做不好功能强大的应用,和程序员合作,必须以更标准合理的方式

      由Chuyue于25-06-2007发表
    *

      这种情况跟市场导向也有关系,从FLASH5起开始做interactive developer,一路走来写代码也在变化逐渐的变化,从时间轴代码到面向对象,其实很多人都在倾向于做一种转变,从Designer-> Deseloper->Developer

      由shine于25-06-2007发表
    *

      小弟也很喜欢这篇文章的观点,请容许小地转贴分享,谢谢

      由小布于11-07-2007发表
    *

      可以

      由luar于11-07-2007发表
    *

      我个人认为用Flash要兼顾Designer/Programmer的工作, MXML就像IDL/WSDL等让Flash Design/Flex得以decoupled, Flash过去到未来都应该只是Presentation Tier, Flash Player是4D Player only(3D+Timeline)都是Graphic Designer发挥的地方, Programmer则以Actionscript施以后援, 这样基本的3-tier结构便达成, 若ActionScript无法满足business的需求, 再借着Flex的高decouple性, 化身为Control Tier以Remoting或Web Service连接.NET, J2EE business tier 实现n-tier结构. Flex Application是否黑沉沉取决于System Architect/Graphic Designer/Programmer的功力. 整合Integration好处是方便, 但坏处也是因它的好处造成就是失去loosely couple/decouple而Vendor Lock-in. 除非你是M$的Sales, 或被M$的fake-tier所蒙蔽, 否则Flex的Application结构比其它J2EE或.NET application长远更见Flexible及Scalable而不只是为解决短视的RIA, 根据wikipedia 3-tier或Multitier architecture的定义为 "Apart from the usual advantages of modular software with well defined interfaces, the three-tier architecture is intended to allow any of the three tiers to be upgraded or replaced independently as requirements or technology change." 要一个.NET+IIS+Web Server+SQL Server upgrade/replace independently是谈何容易, 除非添置一整列的M$ proprietary方案, 我们就只好乖乖给$.
[Bound0 专题列表]QUE SAIS-JE?
生物信息技术支持动漫论坛动漫分享群:45274013

TOP

我觉得现在为止,这两个东西的定位其实还不太一样。SL的真正竞争对手是javaFX。

TOP

咋silverlight专版尽是和 flash/flex作比较的帖子
装b的时候,自己是感觉不到的

TOP

楼猪,我怕你打我,但是我还是要啰嗦两句.
整天在这里比较来比较去,比较的不就是两个工具嘛.还不如多发点时间学习.
另外,这样的贴子,也容易误导新人.
再者,这种比较有意义吗?你比较你的,人家公司发展人家的.
战争中,光有好武器就一定能打胜仗吗?那还要看战士的斗志!
--oo-----------------------------------

TOP

回复 #4 oooooobe 的帖子

我不打你!呵呵。

不比较,不足以正确认识新事物。

新人更需要多涉猎一些这种牵涉广泛的文章,否则偏听生奸、偏信生嫌,见识有限,坐井观天的话才更容易被人误导。

你去市场买条鱼还得挑挑呢,何况是选择一种要花费精力去学的东西。M$和Adobe都曾经废弃过不少的产品,说明这种比较不是没有意义。

现代战争没有武器就不要玩了(我不喜欢武器的话题,不说这个了)。
[Bound0 专题列表]QUE SAIS-JE?
生物信息技术支持动漫论坛动漫分享群:45274013

TOP

不,我不是这些意思,
比较,你得发时间吧,比较,说明学到一定程度对产品不满了吧。
新人和外人是有区别的。
打仗当然要有武器,毛主席不是说过嘛,“枪杆子里出政权”。呵呵
有好武器和差武器的区别,但非一定要好武器才能打胜仗。
比较当然要有,但总不能天天比较吧。

工具不在好坏,但设计确有好坏之分。

一句话,你是否真正玩到精了呢?
即然当了“孙悟空”,就得玩好它。
--oo-----------------------------------

TOP

楼上说得好。支持
我很丑,但很温柔。
我很笨,但很勤奋。
我很穷,但很从容。

TOP