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