Board logo

標題: [檔案] JAVA程式員應當如何來選擇RIA的開發環境 [打印本頁]

作者: 花之慶次    時間: 2007-7-29 22:53     標題: JAVA程式員應當如何來選擇RIA的開發環境

隨著互聯網的快速發展,人們對網路應用的興趣逐步在提高,迫切需要能夠構造一個“富客戶端”:能夠用HTML能實現的介面更加健壯、反應更加靈敏和更具有令人感興趣的可視化特性,而且能夠在互聯網上以一種象使用Web一樣簡單的方式來部署富客戶端程式,而且能夠隨著系統的升級而享用更多便捷的高效的體驗。


而這,是一個趨勢,不久的將來必定要成為主流。


當前,基於HTML的應用程式之所以變得流行是由於應用系統的部署成本低、結構簡單,且HTML易於學習和使用。很多用戶和開發人員都樂於放棄由桌面電腦帶來的用戶介面改進,來實現對新數據和應用系統的快速訪問。與喪失一些重要的UI功能相比,基於Web的方式所帶來的好處要更大得多。


但是,隨著用戶需求的提升,在某些互聯網應用方面,複雜的應用可能需要多次提取網頁來完成一個事務處理。這往往會導致交互響應速度慢,讓人無法接受。甚至有可能需要多次操作才能得到用戶最終結果。之所以如此,用戶對交互體驗的需求上升才導致AJAX(Asynchronous JavaScript And XML)的迅速流行。但JavaScript腳本引擎的脆弱性必將註定這只是RIA的一個中間過渡方式。


在一個典型的RIA應用體系結構(如下圖)中,XML通常被用作數據傳輸的格式,有時也被用來描述表單的佈局。客戶端可以保持與數據源的連接,這樣伺服器能夠實時地對客戶端數據進行更新。


用於富客戶端(RIA)的常用技術有:

1.JavaScript/Ajax

2.JAVA(這裡指的是Applet或者是Java的應用程式)

3.Flash/Flex

4.XUL,等等。


而我們該如何選擇RIA開發環境呢?


而基於以上開發技術實現RIA的應用的解決方案有上百種之多,通常情況下我們很容易失去重點並判定錯誤。


Marc Domenig 給出了他的答案(Rich Internet Applications and AJAX - Selecting the best product)。


如下是他對選擇RIA還是Ajax的判定圖。


首先需要對自己將要開發的項目回答幾個問題,這樣才能做出正確的選擇。


1)您將開發的項目是簡單的用戶介面需求?

如果您回答是,那沒有選擇,HTML將是最快捷便利的手段。簡單的HTML也能夠完成絕大多數用戶的交互需求。


但如果想提供用戶UI體驗,您需要考慮下如下RIA技術特性:

局部螢幕更新;

異步通訊;

伺服器端推送數據;

支援直接操作的部件;

多窗口應用;

模式對話方塊;

功能表;

鍵盤導航,等等。

RIA在Web應用體系結構中提供富客戶端操作體驗,其目標是整合桌面客戶端和WEB應用程式的優勢,而常用的開發技術就是如上提到的Java,JavaScript,Flash/Flex。該如何選擇呢?這就需要您回答第二個問題了。


2)全面應用性?工業級應用?還是漂亮人性化的用戶操作體驗?

AJAX既不是一個產品也不是一項新技術,但它確實是RIA體系中的一個新的分支。它是基於JavaScript,XML和其他技術的一項整合操作。

是否採用Ajax需要考慮如下幾個問題:

是否需要面對市場上繁亂複雜的瀏覽器和作業系統;

AJAX所封裝和支援的UI組件是否能夠滿足您的系統需求;

對系統操作的健壯性需求;(如果是高要求,不建議使用)。


如果您開發的系統需要的是工業級應用需求,Marc Domenig 的答案是採用Java。


如果您開發的系統更需要漂亮人性化的用戶操作體驗,Marc Domenig 建議採用Flash。


Flash是一個已經成熟的商業產品,它可以在Web網頁中引入互動式的圖形介面。最近經過升級後,新版本包含了建立表單風格的應用程式的功能。儘管Flash作為一個在Web上最廣泛部署的前端技術還有爭議(取決於所選用的Flash Player版本),但據稱已經有98%以上的桌面系統都支援Falsh。由於用來創建動畫式圖形的Flash工具其功能十分強大和是可視化的(與之相反其他技術要求進行低級的圖形編碼),所以圖形設計人員使用起來十分得心應手。Flah採用的腳本語言是ActionScript--ECMAScript 1.5的一個變種,該腳本語言又被稱為JavaScript。Flex產品對Flash增加了一個XML描述語言,使得可以編譯用戶介面,並且能夠用Flash Player來隨時進行描述。Flex使得傳統的開發機構能更好地了解和使用Flash。Flex和Flash的最大缺點在於對XML和Web服務等標準的支援很有限,而且作為應用開發工具的環境還不大成熟。Flex和Flash的優點在於它可以很容易的用來創建複雜的動畫式顯示,以及可以使用第三方控件。


而對於JAVA程式員來說,可以把所有的有關企業級的應用,包括數據庫操作,消息中間件,事務處理等都交給JavaEE去完成。RIA只是用於提高用戶體驗,提高可操作性的一種方式。我們可以根據開發系統的用戶需求去做正確的選擇。



http://big5.ccidnet.com:89/gate/ ... 0724/1154137_1.html




歡迎光臨 香港 Xocat Forum 討論區 (http://p.xocat.com/p/) Powered by Discuz! 6.0.0