RIA方案—基于Flash的Flex
Flex簡介 Macromedia公司被公認為新興的RIA市場的領導者。今天98%的瀏覽器上都使用Macromedia Flash客戶端軟件,因此幾乎每個人都可以使用基于Flash的RIA。Macromedia Flex是Macromedia的新服務器產品,它使企業應用程序開發人員能夠全面訪問RIA的功能。Flex具有基于標準的架構,與當前企業開發人員的工具、方法和設計模式互補。
Flex應用程序與傳統的HTML應用程序的主要區別在于Flex應用程序處理最適合在客戶端運行,如字段校驗、數據格式、分類、過濾、工具提示、合成視頻、行為及效果等。Flex 可使開發人員更好地交付應用程序,這種應用程序使用戶可以迅速反應、在不同狀態與顯示間流暢過渡,并提供毫無中斷的連續的工作流。
Flex 應用程序框架
如上圖所示,Flex應用程序框架由MXML、ActionScript 2.0及Flex類庫構成。開發人員利用 MXML及ActionScript 2.0編寫Flex應用程序。利用MXML定義應用程序用戶界面元素,利用ActionScript 2.0定義客戶邏輯與程序控制。Flex類庫中包括Flex組件、管理器及行為等。利用基于Flex 組件的開發模型,開發人員可在程序中加入預建的組件、創建新組件或是將預建的組件加入復合組件中。
這里重點介紹一下MXML。與HTML一樣,都是標記語言,它描述了反映內容與功能的用戶界面。與HTML不同的是,MXML 可對表示層邏輯與用戶界面和服務器端數據綁定提供聲明抽象。MXML可將表示與業務邏輯的問題徹底分開,以實現最大程度地提高開發人員的生產率及應用程序的重復使用率。
Flex的不足 目前Macromedia最新推出了Flex 1.0 Updater,但它代號為“Brady”的IDE還沒有正式推出,目前還在進行Beta 3測試。拋開IDE不說,筆者認為Flex目前還很不成熟,還不利于在實際項目中使用。
例如,Flex自帶的ZipCodeValidator,里面只提供了美國和加拿大的郵編規則,沒有其他選擇,也無法個性化它。看來只有自己來定義Validator了,但這樣一來,和在JS中寫正則表達式有什么區別(代碼量和JS差不多)?用戶需要的是國際化的ZipCodeValidator,這樣才能提高工作效率。
一句話概括 現在的Flex才是1.0版本,很多地方都不完善,只好自定義才能完成特定的要求。期待著Brady以及Flex后續版本的推出!
RIA方案—基于JS的Bindows
Bindows簡介 “Bindows把JavaScript發揮到了第九層!”——網友這樣評價Bindows。
運行中的Bindows
的確如此,Erik等編寫這個框架已經將JavaScript的OOP和基于IE6的DHTML發揮到極點!Bindows 0.93發布的時候已經將IE內置的功能開發得淋漓盡致了,包括Filter、XMLHTTP、Web Service、VML。JavaScript用于客戶端界面的顯示和處理,XMLHTTP用于客戶端與服務器的信息傳輸。JavaScript在客戶端的表現力不容置疑,看看www.bindows.net所表示出來的能力,利用JavaScript幾乎可以實現Windows應用程序所能干的大部分事情,XMLHTTP一直以來常被用于實現“無刷新”的Web頁面,它和JavaScript配合,可以完成數據從服務器和客戶端的傳輸。 Bindows的不足 Erik喜歡那種一次全部載入的方式來實現腳本庫,使用過Bindows會發現,在窗口的加載期,需要一個漫長的等待過程,甚至瀏覽器的進程會產生無響應的情況。按照V0.93,腳本文件的大小是600多K,在一個普通的Web應用中,我們更多時候不會用到Bindows的全部功能,這點Bindows根本沒有遵循“用多少去多少”的準則。另外,過多的JS會使CPU占用率陡然增加,產生潛在問題。
內部大量利用了IE6的技術,沒有考慮到非微軟平臺的瀏覽器,限制了Bindows的流行。在圖表方面,大量采用了VML技術,在IE5,IE5.5這兩個版本,VML引擎不是那么的成熟,很多地方的顯示不夠流暢,會受到帶寬和硬件的限制,過分絢麗的圖形最終會給用戶帶來崩潰。“圖形方面我是采用VML的,當初太偏執,如果使用SVG來實現可能好許多的,也就是那段日子,我花了非常多的時間去折騰web方面開發。”——有網友這樣說。
一句話概括 在技術的角度上,從Bindows是可以學到不少東西的,但好像它的學術價值大于它的商業價值。
后 記
興奮歸興奮,冷靜下來仔細想想,運用RIA改造現有B/S模式還為時尚早。制約我們的首先是網絡環境和硬件環境的不完善性,我想沒有哪個用戶愿意花大量的時間來等待想要看見的“花哨”頁面,更不愿意等來的東西使自己的機器不堪重負,而換來的只是一些良好體驗吧?市場決定一切,而不是任何的新技術!其次,目前RIA的解決方案也不成熟,筆者看好Flex,可惜還需要長時間的等待才有結果。當然,還有很多RIA的方案,感覺MS的Smart Client + Web Service來頭不小。
本文叫“迎接RIA時代的來臨”,筆者充滿了對RIA的美好憧憬,期待著有一天能夠在RIA的環境中進行虛擬現實的交互式體驗!
鳴 謝:RIA中國 沒有他們,我想今天也不會對RIA有如此的認識!!!參考文獻:Flex 白皮書IDC--RIA白皮書回歸C/S?解釋Bindows迎接Client/Server模式的回歸Flex: RIA 的先驅,無堅不摧的銀彈?Return of Rich Client請注意!引用、轉貼本文應注明原作者:Rosen Jiang 以及出處:http://www.tkk7.com/rosen
Powered by: BlogJava Copyright © Rosen