RIA技術(shù)有哪些-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“RIA技術(shù)有哪些”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“RIA技術(shù)有哪些”這篇文章吧。

目前創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、甘肅網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

Rich Internet Application(富互聯(lián)網(wǎng)應(yīng)用程序,簡(jiǎn)稱RIA),一種全新的Web應(yīng)用程序架構(gòu),它結(jié)合了桌面軟件良好的用戶體驗(yàn)和web應(yīng)用程序易部署的優(yōu)點(diǎn),很快獲得了企業(yè)的青睞。近年來,各大開發(fā)平臺(tái)供應(yīng)商相繼推出新的技術(shù)來支持RIA的開發(fā),從Ajax到SilverLight,從Apollo和AIR到Flex和Flash,從JavaFX到Laszlo,各種技術(shù)粉墨登臺(tái),以期成為大家關(guān)注的焦點(diǎn)。

然而,作為應(yīng)用系統(tǒng)開發(fā)廠商,開發(fā)團(tuán)隊(duì)和開發(fā)者,在RIA大潮中,選擇什么樣的技術(shù),讓自己更好地構(gòu)建RIA系統(tǒng),成為一個(gè)我們需要仔細(xì)考慮的問題。

AJAX

Ajax實(shí)際上是用新的技巧把一些古老技術(shù)結(jié)合在一起使用,從而讓W(xué)ebApplication用戶界面的交互性得到極大的提升。

在Ajax中,XMLHttpRequest是核心,是Ajax強(qiáng)大功能的來源,Ajax和傳統(tǒng)的Web界面技術(shù)區(qū)別也就在此。通過XMLHttpRequest,就把瀏覽器中的HTML(DHTML)和服務(wù)器端的數(shù)據(jù)分離開。利用JavaScript來操縱客戶端訪問服務(wù)器獲取數(shù)據(jù),并修改HTML結(jié)構(gòu),以顯示數(shù)據(jù)。使用Ajax的經(jīng)典例子就是Gmail和GoogleMaps了。

Flash/Flex/Laszlo

Flex是為滿足企業(yè)級(jí)應(yīng)用而推出的應(yīng)用程序框架。Flex提供基于標(biāo)準(zhǔn)的、聲明性的編程方法和流程,用于開發(fā)和部署豐富客戶端應(yīng)用程序的表示層。Flex開發(fā)者使用直觀的、基于XML的MXML來定義豐富的用戶界面,利用ActionScript(一種面向?qū)ο蟮哪_本語言)來編寫程序邏輯。

該語言由 Flex服務(wù)器翻譯成SWF格式的客戶端應(yīng)用程序,在FlashPlayer中運(yùn)行。目前Flex已經(jīng)發(fā)布了Flex 3.0 beta。

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格式的文件并傳輸給客戶端展示。在未來的計(jì)劃中,Laszlo還可以將LZX編譯成Java或.NET本地代碼,從而大大提高運(yùn)行效率。在最新發(fā)布的Laszlo4.0中,開發(fā)人員可以選擇Laszlo最終顯示為Flash還是DHTML。

Flex和Laszlo從運(yùn)行位置來看,他們都屬于服務(wù)器端技術(shù),和大家熟悉的ASP,ASP.NET,JSP和PHP的運(yùn)行機(jī)制類似。只是ASP等動(dòng)態(tài)網(wǎng)頁技術(shù),是把界面元素解析為HTML發(fā)送給客戶端的瀏覽器來展現(xiàn);而Flex和Laszlo是把界面元素解析為二進(jìn)制的swf文件,運(yùn)行到瀏覽器中的FlashPlayer插件里。

AIR

AIR之前稱為Apollo,Adobe官方的解釋為:是一個(gè)跨操作系統(tǒng)的運(yùn)行環(huán)境,允許開發(fā)人員使用以前Web開發(fā)的技能來創(chuàng)建RichInternet Application,并部署到桌面上運(yùn)行??傮w來說,AIR就是Adobe把現(xiàn)有的技術(shù),如:Flash、PDF、JavaScript、XML和ActionScript集成在一起,并提供一個(gè)客戶端運(yùn)行環(huán)境,可以讓開發(fā)人員開發(fā)可以訪問Internet資源的桌面程序。本質(zhì)上,AIR就是讓Flash(或者Ajax)脫離瀏覽器運(yùn)行的一個(gè)桌面應(yīng)用程序運(yùn)行環(huán)境。

要開發(fā)AIR應(yīng)用程序,也很簡(jiǎn)單,有兩種技術(shù)可供選擇:一,使用HTML+JS技術(shù);二,使用Flex+Flash??墒褂玫拈_發(fā)工具也就是開發(fā)上述技術(shù)的工具,如:flexbuilder、 flash IDE、eclipse、notepad 等等。

使用AIR來開發(fā)RIA的優(yōu)缺點(diǎn)和Flex等類似,大的好處就是:可以脫離瀏覽器成為一個(gè)獨(dú)立的桌面程序而運(yùn)行,并且不受瀏覽器安全限制,可以有更多的權(quán)限訪問本地資源。

目前,AIR還在測(cè)試階段,很多功能還不完善,相信等正式版發(fā)布后,會(huì)有更多特性值得我們期待。

WPF

一直以來,應(yīng)用程序的用戶界面都可以用不同的技術(shù)開發(fā),從MFC到VB,從WindowsForms到HTML+JS。對(duì)于開發(fā)人員來說,這就需要針對(duì)不同的應(yīng)用程序類型,使用不同界面開發(fā)技術(shù)。隨著Flash等多媒體2D或者3D界面的出現(xiàn),選擇就越來越多。如果想使用一種技術(shù)就能開發(fā)各類應(yīng)用程序的界面,這將是一個(gè)巨大的挑戰(zhàn)。

Windows Presentation Foundation(WPF),最初代號(hào)為“Avalon”,目前作為 .NET 3.0的一個(gè)組件發(fā)布,就是為解決這一難題而設(shè)計(jì)。

WPF為桌面客戶端和瀏覽器客戶端提供了通用基礎(chǔ),大大簡(jiǎn)化了二者的應(yīng)用程序開發(fā)工作。WPF采用更為現(xiàn)代的方法,支持視頻、動(dòng)畫、2D或3D圖形以及各種類型的文檔,從而可以讓用戶以全新的方式處理信息。此外,WPF還為桌面客戶端和瀏覽器客戶端提供了通用基礎(chǔ),大大簡(jiǎn)化了二者的應(yīng)用程序開發(fā)工作。

作為微軟的下一代界面技術(shù),WPF的大特點(diǎn)就是把界面的布局描述和界面邏輯代碼分離。WPF通過XAML(擴(kuò)展應(yīng)用程序標(biāo)記語言,一種基于XML的語言,允許以聲明方式指定用戶界面,而非代碼)把專業(yè)界面設(shè)計(jì)人員的工作和專業(yè)的程序開發(fā)人員的工作分開,讓他們更容易協(xié)作,以開發(fā)出界面炫麗,功能強(qiáng)大的應(yīng)用程序。

同時(shí)微軟為不同的工作提供了不同的工具,針對(duì)界面設(shè)計(jì)人員,推出Expression Studio;針對(duì)程序開發(fā)人員,推出VisualStudio 2008(有望今年年底發(fā)布RTM)。

通過提供更強(qiáng)大的圖形支持功能,WPF 使得一系列數(shù)據(jù)可視化成為可能,而這依靠Windows Forms 或其他的早期技術(shù)是不可能實(shí)現(xiàn)的。WPF 還提供了 XML Paper Specification(XPS) 的基礎(chǔ),可定義查看、分發(fā)和打印固定格式文檔的標(biāo)準(zhǔn)格式。

Silverlight

Silverlight最初的代號(hào)叫“WPF/E”,意為WPF run onEverywhere,它是WPF的一個(gè)子集。Silverlight被社區(qū)稱為微軟出品的Flash Killer。

官方對(duì)其的定義是:“Silverlight是一個(gè)跨瀏覽器的、跨平臺(tái)的插件,為網(wǎng)絡(luò)帶來下一代基于.NET的媒體體驗(yàn)和豐富的交互式應(yīng)用程序”。Silverlight提供靈活的編程模型,支持AJAX,VB, C#, Python, Ruby等語言,并集成到現(xiàn)有的WebApplication中,能夠訪問其中的DOM信息。內(nèi)置多媒體技術(shù)的支持,可以以很低的成本播放媒體文件。

目前,Silverlight發(fā)布了兩個(gè)版本, 1.0 beta和1.1alpha。可以運(yùn)行于Windows和Mac平臺(tái)下。同時(shí)Mono項(xiàng)目也在積極的開發(fā)Moonlight,一個(gè)在Linux下的Silverlight實(shí)現(xiàn)。

XUL

XUL是一種基于XML的用戶界面語言,它來自于Mozilla的開放源碼項(xiàng)目。它可用于建立窗體應(yīng)用程序,這些應(yīng)用程序不但可以在Mozilla瀏覽器上運(yùn)行,而且也可以運(yùn)行在其他描述引擎上,如Zulu(一個(gè)FlashMX組件)和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)潔的語言。

目前XUL可以嵌入在Mozilla(或FireFox)瀏覽器中運(yùn)行,也可以通過一個(gè)XULRunner的運(yùn)行環(huán)境,脫離瀏覽器運(yùn)行。

JavaFX

“JavaFX是一個(gè)構(gòu)建于Java技術(shù)之上完整的運(yùn)行環(huán)境,可以用來交付到桌面、移動(dòng)設(shè)備、手持設(shè)備和電視等環(huán)境的富互聯(lián)網(wǎng)應(yīng)用(RIA)。”SUN如此定義JavaFX。JavaFX是SUN進(jìn)入RIA領(lǐng)域的開發(fā)技術(shù),它包含JavaFXScript和JavaFX Mobile兩個(gè)部分,使用一種全新的腳本語言,依賴Java SE/ME運(yùn)行時(shí),利用Java2D和SwingAPI來實(shí)現(xiàn)在桌面或者移動(dòng)設(shè)備上運(yùn)行RIA應(yīng)用。

三類RIA技術(shù)比較

通過上面各種RIA開發(fā)技術(shù)介紹,我們可以看到它們各自的理念有所不同,運(yùn)行的環(huán)境也不盡相同??傮w說來,RIA開發(fā)技術(shù)分為三類:

1.瀏覽器類,整個(gè)RIA是運(yùn)行于瀏覽器里面,依靠傳統(tǒng)的HTML+CSS+JavaScript技術(shù)來實(shí)現(xiàn)界面的表現(xiàn)和控制。

2.瀏覽器插件類,RIA通過插件的方式運(yùn)行于瀏覽器中。正在運(yùn)行的程序是廠商特定的運(yùn)行格式,需要特定的運(yùn)行環(huán)境。

3.桌面類,RIA脫離瀏覽器直接運(yùn)行于桌面之上。和常見的桌面程序很類似,但是可以訪問Internet資源,并具有部署容易,更新簡(jiǎn)單的特點(diǎn)。

在三種分類的技術(shù)中,瀏覽器技術(shù)是成為開發(fā)RIA最直接的技術(shù),此類技術(shù)適合一直在做Web應(yīng)用的軟件開發(fā)商。

新型桌面技術(shù)則完全另起爐灶,充分使用桌面開發(fā)的技術(shù)、技巧和理念,并結(jié)合WebApplication部署方便,即時(shí)安裝的優(yōu)點(diǎn)。此類技術(shù)適合做Windows應(yīng)用的開發(fā)商。

瀏覽器插件則在瀏覽器技術(shù)和新型桌面之間進(jìn)行了折衷,既使用新的技術(shù)來實(shí)現(xiàn)豐富的界面,又能和現(xiàn)有的Web技術(shù)進(jìn)行部分的集成。

哪種RIA技術(shù)適合你

RIA是未來應(yīng)用系統(tǒng)開發(fā)的一個(gè)重要方向,很多軟件開發(fā)企業(yè),開發(fā)團(tuán)隊(duì)和開發(fā)人員都希望在未來找到一個(gè)適合自己的技術(shù),從而讓自己事半功倍,在提高開發(fā)效率,降低開發(fā)成本的同時(shí),又能交付給客戶體驗(yàn)豐富、功能完善的軟件系統(tǒng)。

雖然在上面我們介紹了各種技術(shù)及其優(yōu)缺點(diǎn),并對(duì)他們進(jìn)行了一個(gè)歸類,但是要回答“我們?cè)撨x擇那種”這個(gè)問題,還需要考慮下面的情況?

首先是我們自身的情況:

◆ 目前你的技術(shù)能力主要在Web開發(fā)方面還是Windows開發(fā)方面?

◆ 目前你開發(fā)的應(yīng)用程序功能類型是內(nèi)容展現(xiàn)為主還是事務(wù)處理為主?

◆ 目前主要在使用那個(gè)廠商或組織的技術(shù)?.NET 或者JAVA或者其他Web技術(shù)?

◆ 目前是否在進(jìn)行RIA或者類似RIA的開發(fā)?

◆ 目前在使用那種RIA開發(fā)技術(shù)?

其次是考慮技術(shù)的選擇標(biāo)準(zhǔn):

◆ 學(xué)習(xí)成本,開發(fā)效率

◆ 對(duì)應(yīng)用程序類型的適合性

◆ 運(yùn)行環(huán)境部署成本

◆ 運(yùn)行效率

◆ 完善的功能特性

◆ 技術(shù)授權(quán)成本和服務(wù)器部署成本,開源、免費(fèi)或收費(fèi)

◆ 官方和社區(qū)的技術(shù)支持

◆ 完善的開發(fā)工具

◆ 完善的UI組件

◆ 跨平臺(tái)特性

最后,我們根據(jù)自己的具體情況和選擇技術(shù)的標(biāo)準(zhǔn),可以為對(duì)這些技術(shù)進(jìn)行一個(gè)定位和排序。

以技術(shù)運(yùn)行環(huán)境部署成本來比較(由低到高):

Ajax > Flex/Laszlo> Silverlight > XUL >WPF > AIR > JavaFX

以技術(shù)授權(quán)成本來看:

開源的有:Ajax,Laszlo,XUL,JavaFX

免費(fèi)的有:Silverlight,WPF,AIR

收費(fèi)的有:Flex

從技術(shù)支持來看:無疑Silverlight和WPF會(huì)獲得最好的官方支持,F(xiàn)lex的官方技術(shù)也在改善,其他技術(shù)主要依靠社區(qū)的支持。

就開發(fā)工具來看:Silverlight和WPF可以有最強(qiáng)大的工具使用,F(xiàn)lex、AIR和Laszlo也有優(yōu)秀的IDE可供使用,JavaFX的開發(fā)工具尚未明朗,Ajax要看具體的實(shí)現(xiàn)而定,XUL的開發(fā)工具進(jìn)展緩慢。

就可使用UI組件的情況來看:WPF和Silverlight需要自己擴(kuò)展或者使用第三方的;Flex、AIR和Laszlo都提供了豐富的UI組件,XUL自己有一套基本夠用的UI組件,JavaFX依賴JRE自帶的UI工具箱。

對(duì)于跨平臺(tái)特性和兼容性我們也可以得到一個(gè)排序:

Flex/Laszlo > Ajax> XUL > JavaFX > AIR> Silverlight > WPF

總而言之,要選擇一種適合自己的RIA開發(fā)技術(shù),需要從各個(gè)方面來權(quán)衡。不僅要明確自己的情況,考慮未來的需求,也要熟悉每種技術(shù)的差異和優(yōu)缺點(diǎn),這樣才能找到一種正確的技術(shù)。

以上是“RIA技術(shù)有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

標(biāo)題名稱:RIA技術(shù)有哪些-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article26/ddsgcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化ChatGPT、外貿(mào)建站、商城網(wǎng)站、企業(yè)建站、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)