http://www.aygfsteel.com/ebecket 返還網(wǎng)
          隨筆-140  評(píng)論-11  文章-131  trackbacks-0

          [轉(zhuǎn)]RIA大潮中,那種技術(shù)適合你?

          關(guān)鍵字: RIA

          前言

          1. RIA技術(shù)介紹和優(yōu)缺點(diǎn)
            1. Ajax
            2. Flash/Flex/Laszlo
            3. Adobe AIR(Adobe Integrated Runtime)
            4. WPF(Windows Presentation Foundation)
            5. Microsoft Silverlight
            6. Mozilla XUL
            7. SUN JavaFX
          2. RIA技術(shù)分類和比較
            1. 瀏覽器類
            2. 瀏覽器插件類
            3. 新型桌面類
          3. 那種RIA技術(shù)適合你
            1. 你是什么樣的類型?
            2. 選擇標(biāo)準(zhǔn)
            3. 找到合適自己的(目前和未來(lái))
          4. 總結(jié)

          在互聯(lián)網(wǎng)技術(shù)不斷普及的今天,我們隨處可見(jiàn)Web應(yīng)用程序(Web Application)的身影,甚至于Web Application已經(jīng)成為很多開(kāi)發(fā)企業(yè)開(kāi)發(fā)各類軟件系統(tǒng)的首選。Web Application的出現(xiàn)是為了解決早期C/S(客戶端-服務(wù)器)系統(tǒng)的部署、更新和維護(hù)的困難。其通過(guò)把整個(gè)應(yīng)用程序運(yùn)行在服務(wù)器端,把界面解析為HTML通過(guò)HTTP協(xié)議發(fā)送給客戶端的瀏覽器,以展現(xiàn)給用戶。

          這種基于頁(yè)面的模型雖然結(jié)構(gòu)簡(jiǎn)單,系統(tǒng)部署成本低,但同時(shí)也帶來(lái)了一些額外的問(wèn)題,比如:用戶操作體驗(yàn)簡(jiǎn)單,不容易開(kāi)發(fā)豐富的效果來(lái)展示數(shù)據(jù),應(yīng)用程序需要聯(lián)網(wǎng)才能運(yùn)行,系統(tǒng)安全性不高,瀏覽器兼容性容易影響系統(tǒng)正常運(yùn)行,應(yīng)用程序很難或者需要通過(guò)其他技術(shù)的輔助才能操作客戶機(jī)的資源,服務(wù)器的負(fù)載過(guò)高而客戶機(jī)的計(jì)算能力沒(méi)有充分使用,等等。

          傳統(tǒng)Web Application的諸多缺點(diǎn)已經(jīng)被業(yè)界意識(shí)到,這樣一種全新的應(yīng)用系統(tǒng)構(gòu)架——Rich Internet Application(富互聯(lián)網(wǎng)應(yīng)用程序,簡(jiǎn)稱RIA)被提了出來(lái)。RIA可以充分利用客戶機(jī)的計(jì)算能力,又不失Web Application那樣的部署優(yōu)點(diǎn)。這里的Rich體現(xiàn)了兩個(gè)方面的含義:一,用戶界面的豐富;二,數(shù)據(jù)模型的智能。RIA通過(guò)在客戶機(jī)上單獨(dú)運(yùn)行一個(gè)客戶端程序(這個(gè)客戶端程序有可能獨(dú)立運(yùn)行,也可能嵌在瀏覽器中運(yùn)行,下文會(huì)詳細(xì)闡述他們的區(qū)別),極大的提高了用戶界面的豐富表現(xiàn),可以很容易的和多媒體技術(shù)結(jié)合,提高了用戶體驗(yàn)。由于RIA需要一個(gè)獨(dú)立于服務(wù)器的客戶端程序,那么和傳統(tǒng)Web Application的最大區(qū)別就在于,服務(wù)器已經(jīng)成為支持RIA客戶端程序正常運(yùn)行的數(shù)據(jù)服務(wù),并能為RIA提供復(fù)雜的數(shù)據(jù)處理方式,包括異步的數(shù)據(jù)傳輸處理和脫機(jī)的數(shù)據(jù)緩存機(jī)制。

          我們可以看到RIA實(shí)際上是應(yīng)用系統(tǒng)構(gòu)架的進(jìn)化的一個(gè)全新設(shè)計(jì),從最早的大型主機(jī)模型到C/S,到Web Application,再到現(xiàn)在的RIA,是逐步應(yīng)用系統(tǒng)的部署地域和用戶體驗(yàn)的。圖1顯示了應(yīng)用系統(tǒng)構(gòu)架的發(fā)展過(guò)程:


          圖1 Rich Internet Application的發(fā)展(摘自Adobe Flex:創(chuàng)建企業(yè)Rich Internet Application 的表示層解決方案)

          一句話,RIA就是把傳統(tǒng)Web Application和桌面程序的優(yōu)點(diǎn)結(jié)合在一起,既提供了豐富的客戶端體驗(yàn),又通過(guò)網(wǎng)絡(luò)輕易部署和自由訪問(wèn)Internet的資源。

          RIA的概念首先由Macromedia在2004年發(fā)布Flex的時(shí)候提出,隨著Ajax的普及和深入,目前各大開(kāi)發(fā)平臺(tái)供應(yīng)商都推出了各自的RIA技術(shù)平臺(tái),以其在RIA大潮來(lái)臨的時(shí)候,成為主流的開(kāi)發(fā)技術(shù)。

          同時(shí)在網(wǎng)絡(luò)社區(qū)中,對(duì)于RIA技術(shù)平臺(tái)應(yīng)該具備那些條件和特點(diǎn),也進(jìn)行了熱烈的討論:

          1. 良好的用戶體驗(yàn), 響應(yīng)速度快和豐富的用戶界面
          2. 基于互聯(lián)網(wǎng)的開(kāi)放標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)傳輸
          3. 運(yùn)行時(shí)快速高效
          4. 能整合多種媒體格式
          5. 豐富的組件,基于事件驅(qū)動(dòng),能進(jìn)行快速開(kāi)發(fā)
          6. 支持聯(lián)機(jī)/離線的數(shù)據(jù)傳輸
          7. 良好的兼容性,能在多種平臺(tái)下運(yùn)行
          8. 與服務(wù)器的交互方式必需首先支持異步的交互
          9. 所基于的新的媒體格式必需是基于文本的,這樣的格式才可能對(duì)于搜索引擎友好
          10. 要能夠支持增量的呈現(xiàn)(incremental rendering)
          11. 要基于動(dòng)態(tài)類型的腳本語(yǔ)言,例如JavaScript或ActionScript,而不是C#這樣的靜態(tài)類型語(yǔ)言
          12. 要有90%以上的客戶端部署比例。這樣才能保證很好的Web可訪問(wèn)性(Web Accessibility)
          13. 要有較為強(qiáng)大的開(kāi)發(fā)工具
          14. 開(kāi)發(fā)和部署的成本不能太高
          15. UI組件庫(kù)能夠比較方便的做擴(kuò)展
          16. RIA框架本身能夠比較方便的做擴(kuò)展
          17. 這種RIA技術(shù)不應(yīng)該造成對(duì)于服務(wù)器端技術(shù)的廠商鎖定

          以上前言內(nèi)容,由于排版和字?jǐn)?shù)的原因,最終沒(méi)有發(fā)布。

          在前言完了后,我RIA技術(shù)介紹和優(yōu)缺點(diǎn)中簡(jiǎn)單介紹了這些技術(shù),并給出使用這些技術(shù)開(kāi)發(fā)RIA的優(yōu)缺點(diǎn)(僅個(gè)人觀點(diǎn))。

          接著在RIA技術(shù)分類和比較中,我給出了如下這個(gè)表格:

          RIA技術(shù)分類 包含的技術(shù) 優(yōu)點(diǎn) 缺點(diǎn)
          瀏覽器
          • Ajax
          • 基于原有Web技術(shù)
          • 與HTML無(wú)縫集成
          • 無(wú)需學(xué)習(xí)新技術(shù)
          • 把應(yīng)用程序綁定在瀏覽器中,受瀏覽器安全沙箱控制
          • 瀏覽器的兼容性影響應(yīng)用程序的開(kāi)發(fā)和運(yùn)行
          瀏覽器插件
          • Flex
          • Laszlo
          • Silverlight
          • 獨(dú)立的技術(shù)
          • 與HTML部分集成
          • 豐富的界面表現(xiàn)
          • 特定的開(kāi)發(fā)語(yǔ)言和工具
          • 能使用部分在Web開(kāi)發(fā)中的經(jīng)驗(yàn)
          • 需要下載插件和定制的運(yùn)行時(shí)
          • 運(yùn)行在瀏覽器中,受瀏覽器安全沙箱控制
          • 需要學(xué)習(xí)新技術(shù)
          新型桌面
          • WPF
          • XUL
          • AIR
          • JavaFX
          • 獨(dú)立完善的技術(shù)
          • 特定的開(kāi)發(fā)語(yǔ)言和工具
          • 可獨(dú)立瀏覽器運(yùn)行(也可以運(yùn)行于瀏覽器中)
          • 最豐富的界面表現(xiàn)
          • 能方便的訪問(wèn)本地資源
          • 可使用桌面軟件開(kāi)發(fā)的技巧
          • 需要安裝單獨(dú)的運(yùn)行環(huán)境
          • 需要學(xué)習(xí)新技術(shù)

          從上面的表中,可以看到一個(gè)明顯的特點(diǎn),就是Adobe和Microsoft都同時(shí)推出在瀏覽器中運(yùn)行和獨(dú)立瀏覽器運(yùn)行的RIA開(kāi)發(fā)平臺(tái)。

          在三種分類的技術(shù)中,瀏覽器技術(shù)是成為開(kāi)發(fā)RIA最直接的技術(shù)。很多人認(rèn)為Ajax是開(kāi)發(fā)RIA的不二選擇,Ajax的潛力還沒(méi)有完全挖掘出來(lái),使用現(xiàn)有的Web技術(shù)(HTML+CSS+JavaScript)完成可以開(kāi)發(fā)出豐富的用戶界面。此類技術(shù)適合一直在做Web應(yīng)用的軟件開(kāi)發(fā)商選擇。

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

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

          如何選擇適合自己的技術(shù),主要看如下幾個(gè)方面:

          • 自己目前的技術(shù),和產(chǎn)品的結(jié)構(gòu)
          • RIA技術(shù)供應(yīng)商的背景
          • RIA技術(shù)學(xué)習(xí)的成本
          • RIA技術(shù)應(yīng)用的成本
          • RIA技術(shù)運(yùn)行的效率
          • ……

          最后,RIA技術(shù)平臺(tái)未來(lái)市場(chǎng)的發(fā)展情況,供應(yīng)商將會(huì)是三國(guó)鼎立的局面:Adobe、Microsoft和SUN。Adobe依賴Flex,已經(jīng)在RIA領(lǐng)域有了很好的基礎(chǔ),最近又推出AIR,把手伸向了桌面系統(tǒng)。Microsoft向來(lái)是桌面軟件開(kāi)發(fā)的霸主,通過(guò)推出WPF來(lái)一統(tǒng)Windows和Web界面開(kāi)發(fā)技術(shù),現(xiàn)在又推出Silverlight來(lái)和Flex直接競(jìng)爭(zhēng),并且Silverlight有很多比Flex先進(jìn)的特性。SUN依靠Java的基礎(chǔ),以及在移動(dòng)設(shè)備上的JavaME運(yùn)行時(shí),走開(kāi)源路線,也會(huì)成為一個(gè)有力競(jìng)爭(zhēng)者。總體來(lái)說(shuō),Microsoft和Adobe是份額最大的供應(yīng)商,SUN會(huì)稍顯弱勢(shì)。另外,Ajax會(huì)成為很多一直在做Web Application的軟件開(kāi)發(fā)商的首選,其必將成為一個(gè)重要的RIA開(kāi)發(fā)技術(shù)。

          posted on 2010-01-13 00:33 becket_zheng 閱讀(206) 評(píng)論(0)  編輯  收藏 所屬分類: 網(wǎng)頁(yè)web前端技術(shù)
          主站蜘蛛池模板: 金平| 韩城市| 柳河县| 政和县| 广平县| 廉江市| 馆陶县| 株洲市| 北票市| 东阿县| 澄城县| 太原市| 扎兰屯市| 卢湾区| 林甸县| 惠安县| 海林市| 平安县| 毕节市| 湖口县| 阿克| 郁南县| 安平县| 汨罗市| 辽源市| 梓潼县| 延寿县| 邢台市| 汤阴县| 朝阳区| 莱州市| 韶关市| 灵丘县| 永顺县| 靖州| 固阳县| 肥东县| 偃师市| 南丰县| 德化县| 彭泽县|