要比較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質劣到跨軟體的弱整合能力。我只看到它放棄最好士兵,最好戰場,回到泥漿中背水一戰。 |