Luar's Flash Playground:比較Adobe和M$的RIA解決方案
比較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質劣到跨軟體的弱整合能力。我只看到它放棄最好士兵,最好戰場,回到泥漿中背水一戰。

本文章由發表。
意見
"; print "沒有意見。
 "; } ?>
  • 一方有工具沒有人才,一方則有人才沒有工具。

    很赞同。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方案, 我們就只好乖乖給$.

    由ArLi於17-07-2007發表

同組文章