WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
RIA
RIA(Rich Internet Application,富互聯(lián)網(wǎng)應(yīng)用系統(tǒng))技術(shù),允許我們?cè)?a href="/wiki/%E5%9B%A0%E7%89%B9%E7%BD%91" class="mw-redirect" title="因特網(wǎng)">因特網(wǎng)上以一種象使用Web一樣簡(jiǎn)單的方式來部署富客戶端程序。這是一個(gè)用戶接口,它比用HTML能實(shí)現(xiàn)的接口更加健壯、反應(yīng)更加靈敏和更具有令人感興趣的可視化特性。無論將來RIA是否能夠如人們所猜測(cè)的那樣完全代替HTML應(yīng)用系統(tǒng),對(duì)于那些采用胖客戶端技術(shù)運(yùn)行復(fù)雜應(yīng)用系統(tǒng)的機(jī)構(gòu)來說,RIA確實(shí)提供了一種廉價(jià)的選擇。
RIA產(chǎn)生的背景[ ]
基于HTML的應(yīng)用程序之所以變得流行是由于應(yīng)用系統(tǒng)的部署成本低、結(jié)構(gòu)簡(jiǎn)單,且HTML易于學(xué)習(xí)和使用。很多用戶和開發(fā)人員都樂于放棄由桌面計(jì)算機(jī)帶來的用戶界面改進(jìn),來實(shí)現(xiàn)對(duì)新數(shù)據(jù)和應(yīng)用系統(tǒng)的快速訪問。與喪失一些重要的UI功能相比,基于Web的方式所帶來的好處要更大得多。
然而,某些應(yīng)用系統(tǒng)并不完全適合采用HTML技術(shù)。復(fù)雜的應(yīng)用系統(tǒng)可能要求多次提取網(wǎng)頁(yè)來完成一項(xiàng)事務(wù)處理,在某些領(lǐng)域中,如醫(yī)藥和財(cái)務(wù)領(lǐng)域,這往往導(dǎo)致交互速度低得無法接受。讓我考慮一個(gè)項(xiàng)目管理系統(tǒng):我們可以將其實(shí)現(xiàn)為一個(gè)HTML應(yīng)用系統(tǒng),但是如果用戶可以看到并且操作圖表、進(jìn)度表和各種層次結(jié)構(gòu),那么顯然會(huì)工作得更好。
此外,雖然HTML開始走向簡(jiǎn)單,但是即使簡(jiǎn)單的交互活動(dòng)也仍然需要用很多的腳本來完成。即使一個(gè)輸入窗體經(jīng)過仔細(xì)的布置和全面的腳本設(shè)計(jì),它從瀏覽器所能發(fā)送的也僅僅是簡(jiǎn)單的"名字/值"對(duì)。如果一個(gè)HTML窗體能夠以XML文檔形式發(fā)送和接收更復(fù)雜的數(shù)據(jù)結(jié)構(gòu),那就好多了。
4RIA利用相對(duì)健壯的客戶端描述引擎,這個(gè)引擎能夠提供內(nèi)容密集、響應(yīng)速度快和圖形豐富的用戶界面。除了提供一個(gè)具有各種控件(滑標(biāo)、日期選擇器、窗口、選項(xiàng)卡、微調(diào)控制器和標(biāo)尺等)的界面之外,RIA一般還允許使用SVG(Scalable Vector Graphics,可伸縮向量圖)或其他技術(shù)來隨時(shí)構(gòu)建圖形。一些RIA技術(shù)甚至能夠提供全活動(dòng)的動(dòng)畫來對(duì)數(shù)據(jù)變化作出響應(yīng)。
RIA的另一個(gè)好處在于,數(shù)據(jù)能夠被緩存在客戶端,從而可以實(shí)現(xiàn)一個(gè)比基于HTML的響應(yīng)速度更快且數(shù)據(jù)往返于服務(wù)器的次數(shù)更少的用戶界面。對(duì)于無線設(shè)備和需要偶爾連接的設(shè)備來說,將來的趨勢(shì)肯定是向富客戶端的方向發(fā)展,并且會(huì)逐漸遠(yuǎn)離基于文本的Web客戶端。那些運(yùn)行在膝上設(shè)備上的應(yīng)用系統(tǒng),可以被設(shè)計(jì)成以離線方式工作,或者至少當(dāng)連接丟失的時(shí)候能基本上以離線的方式工作。
RIA的優(yōu)勢(shì)[ ]
RIA 具有的桌面應(yīng)用程序的特點(diǎn)包括:在消息確認(rèn)和格式編排方面提供互動(dòng)用戶界面;在無刷新頁(yè)面之下提供快捷的界面響應(yīng)時(shí)間;提供通用的用戶界面特性如拖放式(drag and drop)以及在線和離線操作能力。
RIA具有的Web應(yīng)用程序的特點(diǎn)包括如:立即部署、跨平臺(tái)、采用逐步下載來檢索內(nèi)容和數(shù)據(jù)以及可以充分利用被廣泛采納的互聯(lián)網(wǎng)標(biāo)準(zhǔn)。
RIA具有通信的特點(diǎn)則包括實(shí)時(shí)互動(dòng)的聲音和圖像。
客戶機(jī)在RIA中的作用不僅是展示頁(yè)面,它可以在幕后與用戶請(qǐng)求異步地進(jìn)行計(jì)算、傳送和檢索數(shù)據(jù)、顯示集成的用戶界面和綜合使用聲音和圖像,這一切都可以在不依靠客戶機(jī)連接的服務(wù)器或后端的情況下進(jìn)行。
對(duì)于企業(yè)來說,部署RIA的好處在于:
- RIA可以繼續(xù)使用現(xiàn)有的應(yīng)用程序模型(包括J2EE和.NET),因而無需大規(guī)模替換現(xiàn)有的Web應(yīng)用程序。通過Rich Client技術(shù),可以輕松構(gòu)建更為直觀、易于使用、反應(yīng)更迅速并且可以脫機(jī)使用的應(yīng)用程序。
- RIA可以幫助企業(yè)提供多元化的重要業(yè)務(wù)效益,包括產(chǎn)提高銷量、提高品牌忠誠(chéng)度、延長(zhǎng)網(wǎng)站逗留時(shí)間、較頻繁的重復(fù)訪問、減少帶寬成本、減少支持求助以及增強(qiáng)客戶關(guān)系等。
RIA發(fā)展形勢(shì)[ ]
在過去的幾年中,Web開發(fā)人員一直是想構(gòu)建一種比傳統(tǒng)HTML更豐富的客戶端:這是一個(gè)用戶接口,它比用HTML能實(shí)現(xiàn)的接口更加健壯、反應(yīng)更加靈敏和更具有令人感興趣的可視化特性。RIA技術(shù)的出現(xiàn)允許我們?cè)谝蛱鼐W(wǎng)上以一種像使用Web一樣簡(jiǎn)單的方式來部署富客戶端程序。無論將來RIA是否能夠如人們所猜測(cè)的那樣完全代替HTML應(yīng)用系統(tǒng),對(duì)于那些采用C/S架構(gòu)的胖客戶端技術(shù)運(yùn)行復(fù)雜應(yīng)用系統(tǒng)的機(jī)構(gòu)和采用基于B/S架構(gòu)的瘦客戶端技術(shù)部署Web應(yīng)用系統(tǒng)地機(jī)構(gòu)來說,RIA確實(shí)提供了一種廉價(jià)的選擇。
下面介紹一下目前出現(xiàn)的幾種比較有實(shí)力或者有特點(diǎn)的RIA客戶端開發(fā)技術(shù):
- Macromedia Flash/Flex
- Flash 從6.0開始Flash就逐步具備建立窗體風(fēng)格的應(yīng)用程序的功能。據(jù)Macromedia稱已經(jīng)有98%以上的桌面系統(tǒng)的瀏覽器都安裝了 Macromedia Flash Player。這使得以Macromedia Flash Player為客戶端的RIA可以支持種類廣泛的平臺(tái)和設(shè)備。
- Flex是為滿足希望開發(fā) RIA的企業(yè)級(jí)程序員的需求而推出的表示服務(wù)器和應(yīng)用程序框架,它可以運(yùn)行于J2EE和.NET平臺(tái)。Flex表示服務(wù)器提供基于標(biāo)準(zhǔn)的、聲明性的編程方法和流程,并提供運(yùn)行時(shí)服務(wù),用于開發(fā)和部署豐富客戶端應(yīng)用程序的表示層。Flex開發(fā)者使用直觀的基于XML的MXML來定義豐富的用戶界面。該語言由 Flex服務(wù)器翻譯成SWF格式的客戶端應(yīng)用程序,在Flash Player中運(yùn)行。
- Laszlo
- Laszlo 是一個(gè)開源的RIA開發(fā)環(huán)境。使用Laszlo平臺(tái)時(shí),開發(fā)者只需編寫名為L(zhǎng)ZX的描述語言(其中整合了XML和Javascript),運(yùn)行在J2EE 應(yīng)用服務(wù)器上的Laszlo平臺(tái)會(huì)將其編譯成SWF格式的文件并傳輸給客戶端展示。從這點(diǎn)上來說,Laszlo的本質(zhì)和Flex是一樣的。Flash是任何瀏覽器都支持的展示形式,從而一舉解決了瀏覽器之間的移植問題。而且,在未來的計(jì)劃中,Laszlo還可以將LZX編譯成Java或.NET本地代碼,從而大大提高運(yùn)行效率。
- Avalon
- Microsoft的Avalon是下一版本的 Windows(代號(hào)"Longhorn")的一部分,是一個(gè)圖形和展示引擎,主要由新加到.NET框架中的一組類集合而成。Avalon定義了一個(gè)在 Longhorn中使用的新標(biāo)記語言,其代號(hào)為"XAML"(可擴(kuò)展應(yīng)用程序標(biāo)記語言)??梢允褂肵AML來定義文本、圖像和控件的布局,程序代碼可以直接嵌入到XAML中,也可以將它保留在一個(gè)單獨(dú)的文件內(nèi)。這與Flex中的MXML或者Laszlo中的LZX非常相似。不同的是:基于 Avalon的應(yīng)用程序必須運(yùn)行在Longhorn環(huán)境中,而Flex和Laszlo是不依賴于平臺(tái)的,僅僅需要裝有Flash播放器的瀏覽器即可。
- Java SWT
- Java 已經(jīng)出現(xiàn)幾年了,并且完全支持創(chuàng)建基于窗體的用戶界面。除了Java基礎(chǔ)類(JFC/Swing)中的用戶界面組件之外,開發(fā)人員還可以使用來自于 Eclipse Project的SWT工具箱和許多第三方工具箱進(jìn)行開發(fā)。對(duì)于圖形來說,可以采用Java 2D API:一個(gè)非常完整且非常復(fù)雜的圖形API。你可以通過一個(gè)Web瀏覽器使用Java插件軟件,或使用Java運(yùn)行時(shí)環(huán)境中較新的Java Web Start技術(shù)來部署應(yīng)用程序。使用Java建立Rich Client的主要缺陷是它的復(fù)雜性(即使對(duì)簡(jiǎn)單的窗體和圖形也要求編寫非常煩瑣的代碼)和Java瀏覽器插件的低市場(chǎng)占有率。
- XUL
- XUL (念作"zool")是一種基于XML的用戶界面語言,它來自于Mozilla的開放源碼項(xiàng)目。它可用于建立窗體應(yīng)用程序,這些應(yīng)用程序不但可以在 Mozilla瀏覽器上運(yùn)行,而且也可以運(yùn)行在其他描述引擎上,如Zulu(一個(gè)Flash MX組件)和Thinleys(一個(gè)Java實(shí)現(xiàn))。XUL描述引擎都非常?。?00K以下),它可以使用XML數(shù)據(jù)也可以生成XML數(shù)據(jù)。XUL的一個(gè)主要缺點(diǎn)在于它目前還沒有獲得一個(gè)主要商業(yè)實(shí)體的支持。XUL最大的優(yōu)點(diǎn)在于它與Gecko引擎的集成(打開了通向大量Web標(biāo)準(zhǔn)的大門),以及與大多數(shù)其它XML用戶界面描述語言相比它是一種非常具有表達(dá)力和簡(jiǎn)潔的語言。
- Bindows
- Bindow 是用Javascript和DHTML開發(fā)的Web窗體框架。Javascript用于客戶端界面的顯示和處理,XMLHTTP用于客戶端與服務(wù)器的信息傳輸。Javascript在客戶端的表現(xiàn)力不容置疑,利用Javascript幾乎可以實(shí)現(xiàn)Windows應(yīng)用程序所能干的大部分事情,XMLHTTP 一直以來常被用于實(shí)現(xiàn)"無刷新"的Web頁(yè)面,它和 Javascript配合,可以完成數(shù)據(jù)從服務(wù)器和客戶端的傳輸。Bindows的一個(gè)主要的缺點(diǎn)是它采用一次全部載入的方式來實(shí)現(xiàn)腳本庫(kù),在窗口的加載期,需要一個(gè)漫長(zhǎng)的等待過程,甚至瀏覽器的進(jìn)程會(huì)產(chǎn)生無響應(yīng)的情況。這點(diǎn)Bindows根本沒有遵循"用多少去多少"的準(zhǔn)則。另外,內(nèi)部大量利用了IE6 的技術(shù),沒有考慮到非IE的瀏覽器,限制了Bindows的流行。