日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

RIA技術(shù)概覽

系統(tǒng) 2048 0

RIA技術(shù)概覽

互聯(lián)網(wǎng)已經(jīng)日益成為應(yīng)用程序開發(fā)的默認(rèn)平臺(tái),傳統(tǒng)的Web應(yīng)用程序(Web Application)是基于HTML頁面、服務(wù)器端數(shù)據(jù)傳遞的模式。而HTML是適合于文本的,隨著Web應(yīng)用程序復(fù)雜性越來越高,傳統(tǒng)的Web應(yīng)用程序已經(jīng)漸漸不能滿足Web瀏覽者更高的、全方位的體驗(yàn)要求了,這就是被Macromedia公司稱之為的"體驗(yàn)問題"("Experience Matters")。此時(shí)一種被稱為Rich Internet Application(簡稱RIA,中文翻譯作"豐富互聯(lián)網(wǎng)應(yīng)用程序")的具高度互動(dòng)性和豐富用戶體驗(yàn)的網(wǎng)絡(luò)應(yīng)用程序出現(xiàn)了。Macromedia公司也借此機(jī)會(huì)開發(fā)了相關(guān)的技術(shù)和開發(fā)工具,促進(jìn)RIA的開發(fā)和普及。

1.?RIA的產(chǎn)生背景
企業(yè)級(jí)應(yīng)用程序經(jīng)歷了幾次系統(tǒng)架構(gòu)方面的重要轉(zhuǎn)變,在此過程中,客戶端的表現(xiàn)能力有起有落。圖1顯示了Rich Internet Application的發(fā)展過程:
?
圖1.Rich Internet Application的發(fā)展(摘自Macromedia Flex:創(chuàng)建企業(yè)Rich Internet
Application 的表示層解決方案)

  • 基于主機(jī)的應(yīng)用程序:應(yīng)用程序提供基于文本的非圖形化用戶界面,只有內(nèi)部人員才能進(jìn)行訪問。
  • 客戶機(jī)/服務(wù)器(Client/Server,簡稱C/S)應(yīng)用程序:二十世紀(jì)九十年代隨著Windows的出現(xiàn)和客戶端處理能力的增強(qiáng),出現(xiàn)了客戶機(jī)/服務(wù)器應(yīng)用程序,它們采用圖形用戶界面,客戶端的數(shù)據(jù)處理能力比較強(qiáng)。但由于客戶端應(yīng)用程序需要進(jìn)行不斷的更新,因此部署成本比較高,只能為少數(shù)人所使用。
  • 瀏覽器/服務(wù)器(Browser/Server,簡稱B/S)應(yīng)用程序:九十年代中期,互聯(lián)網(wǎng)飛速發(fā)展,出現(xiàn)了瀏覽器/服務(wù)器應(yīng)用程序,Web的廣泛使用解決了C/S應(yīng)用程序部署、和更新的困難。但由于采用了HTML頁面形式的用戶界面,客戶端的數(shù)據(jù)處理能力較C/S應(yīng)用程序有所回落。


C/S架構(gòu)的缺點(diǎn)主要是部署、更新的問題。B/S架構(gòu)的缺點(diǎn)主要是受制于HTML的限制,無法像C/S那樣使用豐富的效果來展示數(shù)據(jù),用戶體驗(yàn)比較糟糕。另外,穩(wěn)定的客戶端/服務(wù)器連接,也是必要條件,網(wǎng)絡(luò)中斷將使B/S程序無法運(yùn)行。從C/S到B/S,這兩者受限于技術(shù)本身分別發(fā)展成了重客戶端和重服務(wù)器端的模式,而RIA的出現(xiàn)給我們帶來重新在客戶端和服務(wù)器端進(jìn)行更好的平衡的機(jī)會(huì)。

2.?什么是RIA
RIA 是集桌面應(yīng)用程序的最佳用戶界面功能與Web應(yīng)用程序的普遍采用和快速、低成本布署以及互動(dòng)多媒體通信的實(shí)時(shí)快捷于一體的新一代網(wǎng)絡(luò)應(yīng)用程序。RIA中的 Rich Client(豐富客戶端)提供可承載已編譯客戶端應(yīng)用程序(以文件形式,用HTTP傳遞)的運(yùn)行環(huán)境,客戶端應(yīng)用程序使用異步客戶/服務(wù)器架構(gòu)連接現(xiàn)有的后端應(yīng)用服務(wù)器,這是一種安全、可升級(jí)、具有良好適應(yīng)性的新的面向服務(wù)模型,這種模型由采用的Web服務(wù)所驅(qū)動(dòng)。結(jié)合了聲音、視頻和實(shí)時(shí)對(duì)話的綜合通信技術(shù)使RIA具有前所未有的網(wǎng)上用戶體驗(yàn)。
下圖就是RIA的應(yīng)用程序模型:
?
圖2.RIA的應(yīng)用程序模型

3.?RIA的優(yōu)勢(shì)
RIA 具有的桌面應(yīng)用程序的特點(diǎn)包括:在消息確認(rèn)和格式編排方面提供互動(dòng)用戶界面;在無刷新頁面之下提供快捷的界面響應(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中的作用不僅是展示頁面,它可以在幕后與用戶請(qǐng)求異步地進(jìn)行計(jì)算、傳送和檢索數(shù)據(jù)、顯示集成的用戶界面和綜合使用聲音和圖像,這一切都可以在不依靠客戶機(jī)連接的服務(wù)器或后端的情況下進(jìn)行。

對(duì)于企業(yè)來說,部署RIA的好處在于:
1)RIA可以繼續(xù)使用現(xiàn)有的應(yīng)用程序模型(包括J2EE和.NET),因而無需大規(guī)模替換現(xiàn)有的Web應(yīng)用程序。通過Rich Client技術(shù),可以輕松構(gòu)建更為直觀、易于使用、反應(yīng)更迅速并且可以脫機(jī)使用的應(yīng)用程序。

2)RIA可以幫助企業(yè)提供多元化的重要業(yè)務(wù)效益,包括產(chǎn)提高銷量、提高品牌忠誠度、延長網(wǎng)站逗留時(shí)間、較頻繁的重復(fù)訪問、減少帶寬成本、減少支持求助以及增強(qiáng)客戶關(guān)系等。

4.?RIA目前的發(fā)展態(tài)勢(shì)
在過去的兩到三年中,Web開發(fā)人員一直是想構(gòu)建一種比傳統(tǒng)HTML更豐富的客戶端:這是一個(gè)用戶接口,它比用HTML能實(shí)現(xiàn)的接口更加健壯、反應(yīng)更加靈敏和更具有令人感興趣的可視化特性。RIA技術(shù)的出現(xiàn)允許我們?cè)谝蛱鼐W(wǎng)上以一種像使用Web一樣簡單的方式來部署富客戶端程序。無論將來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ù):

1)?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)行。

2)?Laszlo
Laszlo 是一個(gè)開源的RIA開發(fā)環(huán)境。使用Laszlo平臺(tái)時(shí),開發(fā)者只需編寫名為LZX的描述語言(其中整合了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)行效率。

3)?Avalon
Microsoft的Avalon是下一版本的 Windows(代號(hào)"Longhorn")的一部分,是一個(gè)圖形和展示引擎,主要由新加到.NET框架中的一組類集合而成。Avalon定義了一個(gè)在 Longhorn中使用的新標(biāo)記語言,其代號(hào)為"XAML"(可擴(kuò)展應(yīng)用程序標(biāo)記語言)。可以使用XAML來定義文本、圖像和控件的布局,程序代碼可以直接嵌入到XAML中,也可以將它保留在一個(gè)單獨(dú)的文件內(nèi)。這與Flex中的MXML或者Laszlo中的LZX非常相似。不同的是:基于 Avalon的應(yīng)用程序必須運(yùn)行在Longhorn環(huán)境中,而Flex和Laszlo是不依賴于平臺(tái)的,僅僅需要裝有Flash播放器的瀏覽器即可。

4)?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ì)簡單的窗體和圖形也要求編寫非常煩瑣的代碼)和Java瀏覽器插件的低市場占有率。

5)?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描述引擎都非常小(100K以下),它可以使用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á)力和簡潔的語言。

6)?Bindows
Bindow 是用Javascript和DHTML開發(fā)的Web窗體框架。Javascript用于客戶端界面的顯示和處理,XMLHTTP用于客戶端與服務(wù)器的信息傳輸。Javascript在客戶端的表現(xiàn)力不容置疑,利用Javascript幾乎可以實(shí)現(xiàn)Windows應(yīng)用程序所能干的大部分事情,XMLHTTP 一直以來常被用于實(shí)現(xiàn)"無刷新"的Web頁面,它和 Javascript配合,可以完成數(shù)據(jù)從服務(wù)器和客戶端的傳輸。Bindows的一個(gè)主要的缺點(diǎn)是它采用一次全部載入的方式來實(shí)現(xiàn)腳本庫,在窗口的加載期,需要一個(gè)漫長的等待過程,甚至瀏覽器的進(jìn)程會(huì)產(chǎn)生無響應(yīng)的情況。這點(diǎn)Bindows根本沒有遵循"用多少去多少"的準(zhǔn)則。另外,內(nèi)部大量利用了IE6 的技術(shù),沒有考慮到非IE的瀏覽器,限制了Bindows的流行。

5.?RIA未來的發(fā)展預(yù)測(cè)
就目前RIA的使用情況來說,離"RIA時(shí)代"還有很遠(yuǎn)的一段距離。今后幾年時(shí)間內(nèi)傳統(tǒng)的Web應(yīng)用程序和RIA將會(huì)共存。筆者認(rèn)為真正具有實(shí)力擔(dān)當(dāng)起普及豐富客戶端應(yīng)用重任的只有基于Flash Player的Flash/Flex應(yīng)用程序和Microsoft的基于Avalon的應(yīng)用程序。短期時(shí)間內(nèi)(估計(jì)2-3年時(shí)間)可能是 Flash/Flex應(yīng)用程序在新興的網(wǎng)絡(luò)應(yīng)用程序市場上占有主導(dǎo)地位。隨著時(shí)間的推移,F(xiàn)lash/Flex應(yīng)用程序的市場占有率可能會(huì)慢慢被基于 Avalon的應(yīng)用程序所蠶食。當(dāng)然,F(xiàn)lash Player和Flex以后也會(huì)不斷推出新版本,相對(duì)于升級(jí)操作系統(tǒng)或安裝Avalon運(yùn)行環(huán)境,人們肯定更愿意升級(jí)Flash Player。Flash/Flex應(yīng)用程序也有其本身固有的軟肋,F(xiàn)lash Player的執(zhí)行效率和對(duì)本地資源的操作限制是無法和Avalon相比的,相對(duì)于瀏覽器中的插件而言,Avalon的應(yīng)用程序擁有更加廣闊的可操作空間和更高的執(zhí)行效率。

目前Microsoft還在推廣一種叫做Smart Client(智能客戶端)的客戶端程序技術(shù),Microsoft稱Smart Client是比Rich Client更優(yōu)秀的客戶端,因而采用Smart Client的應(yīng)用程序算不算RIA目前我個(gè)人還無法作答。這里我們之所以提及Smart Client,是因?yàn)镾mart Client的特性跟我們談的Rich Client有太多的相似之處。Smart Client擁有自動(dòng)更新、離線狀態(tài)下的數(shù)據(jù)處理和可以使用本地資源等特征,其中的可使用本地資源這一項(xiàng)無疑是一大賣點(diǎn),因?yàn)闉g覽器中的 Flash/Flex應(yīng)用程序目前還無法操作本地的一些資源,比如Flash/Flex應(yīng)用程序無法將網(wǎng)上的文件保存到本地或者修改本地文件。雖然 Macromedia的Central1.5已經(jīng)可以對(duì)本地文件進(jìn)行簡單的操作,并且flex1.5開發(fā)的RIA也能夠運(yùn)行于Central上,但是如何使Central能夠得到大范圍推廣還是個(gè)問題。相對(duì)于輕量級(jí)的Rich Client,Smart Client更接近C/S架構(gòu)中的客戶端程序。Rich Client和Smart Client的定位還是有所區(qū)別的:Rich Client更適合作為輕量級(jí)的基于瀏覽器的網(wǎng)絡(luò)應(yīng)用程序客戶端;Smart Client更適合作為Windows桌面應(yīng)用程序的智能客戶端。

不管我們今天稱之為的RIA今后會(huì)不會(huì)成為主流應(yīng)用程序,人們對(duì)開發(fā)具有高度互動(dòng)性、豐富用戶體驗(yàn)以及功能強(qiáng)大的客戶端的追求是不變的。有理由相信,擁有成熟技術(shù)和極高市場占有率的Flash客戶端將會(huì)在RIA道路上越走越遠(yuǎn)。Microsoft未來的重量級(jí)武器:Avalon和Smart Client能否后來者居上讓我們拭目以待。

?本文轉(zhuǎn)自: http://10258989.blogchina.com/3582688.html

RIA技術(shù)概覽


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 霍邱县| 昌邑市| 清流县| 河南省| 垣曲县| 余江县| 三明市| 肇庆市| 富裕县| 奇台县| 龙岩市| 育儿| 雷州市| 泰宁县| 泾源县| 苍南县| 岳池县| 卢龙县| 营口市| 新田县| 保靖县| 乳源| 安泽县| 广州市| 祁东县| 昭平县| 平潭县| 松江区| 陈巴尔虎旗| 大厂| 筠连县| 富源县| 龙门县| 周口市| 丹东市| 洪雅县| 鄄城县| 阿瓦提县| 花垣县| 博乐市| 大田县|