RIA技術(shù)入門之Macromedia Flex(五)
作者:Mr.一點點
7 開發(fā)模式比較
以往開發(fā)個人單機程序,都是依照事件驅(qū)動模式,而開發(fā)Web應(yīng)用程序則差異較大,一般是依照請求/響應(yīng)模式。
7.1 事件驅(qū)動模式
以VB/Java單機程序為例:
" 原型開發(fā):先拖放界面上的組件(標簽、按鈕、文本框);
" 雙擊對應(yīng)的組件進行事件驅(qū)動的代碼編寫(鼠標單擊事件);
編程模式簡單、直觀。
7.2 請求/響應(yīng)開發(fā)模式(傳統(tǒng)的B/S開發(fā))
B: Browser 瀏覽器
S: Server 服務(wù)器
基于請求/響應(yīng)模式。
客戶端技術(shù):html, javascript
服務(wù)端技術(shù):jsp/EJB/ASP.Net
傳統(tǒng)的B/S應(yīng)用中,表示層都是使用html + javascript。
單純html + javascript技術(shù)滿足不了某些復(fù)雜的應(yīng)用,而且腳本式的開發(fā)語言弊病多多:沒有對象概念,開發(fā)、調(diào)試麻煩,頁面繁瑣,安全性……,近期流行的Ajax就是html + javascript,很明顯,只是為了滿足日益增長的客戶需求的一個折衷方案。因為Ajax在界面元素上沒有改進,在開發(fā)模式上卻更加復(fù)雜,實用中一般是使用自定義標簽來簡化開發(fā)(Ajax + JSF)。
7.3 Flex開發(fā)模式
7.3.1 事件驅(qū)動模式
在Flex開發(fā)中,Web客戶端的編寫是依照事件驅(qū)動模式進行開發(fā)的:
" 先編寫界面(使用mxml),
" 在界面組件對應(yīng)的事件里編寫行為控制代碼(使用actionscript),在actioscript再與服務(wù)器端進行交互,取得服務(wù)器端數(shù)據(jù)后返回到界面。
這樣的開發(fā)模式簡單、直觀,易于理解和開發(fā)。和開發(fā)簡單的VB/Java單機程序一樣,更容易為大多數(shù)人掌握,更容易開發(fā)出優(yōu)秀的應(yīng)用。
7.3.2 完全的MVC模式
一直以來,服務(wù)器端都是依照MVC(視圖 - 控制 - 模塊)模式進行開發(fā),而客戶端始終處在一種混亂的狀態(tài),就是Html頁面 + Javascript腳本。而MXML和Actionscript的技術(shù)使得客戶端的MVC成為可能,使用mxml編寫視圖,而客戶端后臺的控制器和模塊都使用面向?qū)ο蟮腁crionscript編寫。從這點來講,Web應(yīng)用程序客戶端的編寫將更為容易,而且更復(fù)雜的客戶端也成為可能,相信在不久的將來,我們將看到真正"超乎想象"的Flex應(yīng)用。
8 Flex的將來
8.1 當前最新版本
Flex開發(fā)工具(IDE)為Flex Builder,目前最高版本是2.0,支持的Actionscript是3.0。
8.2 Flex是否會取代html/javascript
我們要注意,雖然Flex的性能優(yōu)異,但并非所有的應(yīng)用都適合用Flex來實現(xiàn)。Html適合于信息的發(fā)布,F(xiàn)lex更適合于互動性要求很高的應(yīng)用,兩種方案適用于不同的應(yīng)用。
8.3 Flex技術(shù)的開放性
Flex方案,從技術(shù)的開放性來看:
" 使用XML
" 面向?qū)ο蟮腶ctionscript
" Flash平臺的廣泛性
" 對于多媒體的強大支持
" 兼容主流的服務(wù)端技術(shù)
無疑,F(xiàn)lex方案將在服務(wù)器端、客戶端、媒體處理、商務(wù)應(yīng)用獲得廣泛的支持,是目前最優(yōu)秀的RIA解決方案,它代表著將來的一個方向。