解析RIA和AJAX_AJAX教程
推薦:揭密各種AJAX控件和類庫(kù)Ajax控件和類庫(kù)現(xiàn)在真的太多了,不知不覺中增加了Ajax的神秘性和復(fù)雜性,看到版內(nèi)很多人為此費(fèi)解和傷神,決定發(fā)此貼談?wù)劚救藢?duì)Ajax的觀點(diǎn),希望能讓大家對(duì)Ajax有一個(gè)本質(zhì)的認(rèn)識(shí)。 觀點(diǎn)一:Ajax和服務(wù)器端技術(shù)毫不相關(guān) 嚴(yán)格的說,與傳統(tǒng)web開發(fā)相比,Ajax是完
從體驗(yàn)時(shí)代的@RIA郵件系統(tǒng)和@AJAX郵件系統(tǒng)分析RIA和AJAX
本文主要通過對(duì)RIA郵件應(yīng)用和AJAX郵件應(yīng)用的用戶體驗(yàn)對(duì)比,按照對(duì)比分析的方式將體驗(yàn)中的感性升華為理性。同時(shí),此文也可以給所有從事WEB工作的設(shè)計(jì)人員和開發(fā)人員以借鑒參考,也能普及RIA常識(shí)和AJAX常識(shí)。文章參考了一些網(wǎng)絡(luò)上的文章和資源,希望作者體諒,呵呵反正非商業(yè)用途吧。主要參考資源有:http://www.richbox.com,http://xpgao.blogchina.com/3991873.html
http://gocom.primeton.com/modules/techresource/article_page.php?linkid=319
http://www.ljxt.com/blog/post/113.html
感謝這些資源提供者
---------------------------------------------------------
RIA應(yīng)用之Goowy 郵件
http://www1.goowy.com
AJAX應(yīng)用之Google郵件
http://mail.google.com
---------------------------------------------------------
AJAX與RIA共性:
都是WEB2.0的應(yīng)用
都具有人性化的設(shè)計(jì)理念
AJAX與RIA不同:
AJAX比較簡(jiǎn)單素雅,人性化,訪問速度快。缺點(diǎn):代碼混亂,編寫復(fù)雜,不符合標(biāo)準(zhǔn),對(duì)搜索引擎不友好。程序效率低。
RIA可擴(kuò)展性更大,人性化更多,視覺和互動(dòng)上更好,但缺點(diǎn)是訪問速度慢,下載文件大,還有RIA應(yīng)用程序特別耗CPU,程序效率比較低,很多問題還需要解決。
---------------------------------------------------------
RIA
---------------------------------------------------------
富互聯(lián)網(wǎng)應(yīng)用系統(tǒng)(RIA)簡(jiǎn)介:RIA基礎(chǔ):RIA入門
請(qǐng)關(guān)注那些超越正在失去生命力的HTML標(biāo)準(zhǔn)的技術(shù)
在過去的大約兩年中,人們的興趣一直是想構(gòu)建一個(gè)"富客戶端":這是一個(gè)用戶接口,它比用HTML能實(shí)現(xiàn)的接口更加健壯、反應(yīng)更加靈敏和更具有令人感興趣的可視化特性。RIA(Rich Internet Application,富互聯(lián)網(wǎng)應(yīng)用系統(tǒng))技術(shù)允許我們?cè)谝蛱鼐W(wǎng)上以一種象使用Web一樣簡(jiǎn)單的方式來部署富客戶端程序。無論將來RIA是否能夠如人們所猜測(cè)的那樣完全代替HTML應(yīng)用系統(tǒng),對(duì)于那些采用胖客戶端技術(shù)運(yùn)行復(fù)雜應(yīng)用系統(tǒng)的機(jī)構(gòu)來說,RIA確實(shí)提供了一種廉價(jià)的選擇。
在本專欄中,我將列舉一些當(dāng)前的RIA產(chǎn)品和技術(shù),并且提供一些如何開始應(yīng)用這些產(chǎn)品和技術(shù)的啟示。在DevTrends站點(diǎn)和即將發(fā)行的近幾期Oracle Magazine雜志上,我將詳細(xì)探討使用Oracle平臺(tái)部署RIA的特定技術(shù)和策略。
為什么用RIA?
基于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),那就好多了。
RIA利用相對(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í)候能基本上以離線的方式工作。
圖1給出了一個(gè)典型的RIA體系結(jié)構(gòu)。XML通常被用作數(shù)據(jù)傳輸?shù)母袷剑袝r(shí)也被用來描述窗體的布局。在很多的實(shí)例中,客戶端可以保持與數(shù)據(jù)源的連接,這樣服務(wù)器能夠?qū)崟r(shí)地對(duì)客戶端數(shù)據(jù)進(jìn)行更新。對(duì)一個(gè)Oracle數(shù)據(jù)的訪問可以通過Web服務(wù)調(diào)用來完成。

圖1
用于富客戶端的技術(shù)
下面是一些可用的RIA技術(shù):
Java:一些相當(dāng)復(fù)雜的客戶端應(yīng)用程序(Oracle的JDeveloper,Eclipse)都是用Java編寫的,這說明可以用Java來建立幾乎任何一個(gè)能夠想象得到的富客戶端應(yīng)用程序。到目前為止,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。Java還具有對(duì)XML和Web服務(wù)無人匹敵的支持能力。你可以通過一個(gè)Web瀏覽器使用Java插件軟件,或使用Java運(yùn)行時(shí)環(huán)境中較新的Java Web Start技術(shù)來部署應(yīng)用程序。使用Java建立富客戶端程序的主要缺陷是它的復(fù)雜性(即使對(duì)簡(jiǎn)單的窗體和圖形也要求編寫非常煩瑣的代碼)。它的優(yōu)點(diǎn)在于Java對(duì)Web標(biāo)準(zhǔn)的全面支持,及該語(yǔ)言和類庫(kù)的深刻內(nèi)涵。
XUL:XUL(念作"zool")是一個(gè)基于XML的用戶界面語(yǔ)言,它來自于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ù)。同Java的情況一樣,XUL也有一個(gè)非常大的用戶團(tuán)體,這個(gè)團(tuán)體有大量的開放源工具,如Theodore ThinletEditor(見“下一步”)——一個(gè)使你能夠以圖形化方式布局用戶界面,且可以生成相應(yīng)XUL的Java應(yīng)用程序。XUL的一個(gè)主要缺點(diǎn)在于它目前還沒有獲得一個(gè)主要商業(yè)實(shí)體的支持。XUL最大的優(yōu)點(diǎn)在于它與Gecko引擎的集成(打開了通向大量Web標(biāo)準(zhǔn)的大門),以及與大多數(shù)其他XML用戶界面描述語(yǔ)言相比它是一種非常具有表達(dá)力和簡(jiǎn)潔的語(yǔ)言。
Macromedia Flash和Flex:Flash是一個(gè)已經(jīng)成熟的商業(yè)產(chǎn)品,它可以在Web網(wǎng)頁(yè)中引入交互式的圖形界面。最近經(jīng)過升級(jí)后,新版本包含了建立窗體風(fēng)格的應(yīng)用程序的功能。盡管Flash作為一個(gè)在Web上最廣泛部署的前端技術(shù)還有爭(zhēng)議(取決于所選用的Flash Player版本),但據(jù)稱已經(jīng)有98%以上的桌面系統(tǒng)都支持Falsh。由于用來創(chuàng)建動(dòng)畫式圖形的Flash工具其功能十分強(qiáng)大和是可視化的(與之相反其它技術(shù)要求進(jìn)行低級(jí)的圖形編碼),所以圖形設(shè)計(jì)人員使用起來十分得心應(yīng)手。Flah采用的腳本語(yǔ)言是ActionScript--ECMAScript 1.5的一個(gè)變種,該腳本語(yǔ)言又被稱為JavaScript。Flex產(chǎn)品對(duì)Flash增加了一個(gè)XML描述語(yǔ)言,使得可以編譯用戶界面,并且能夠用Flash Player來隨時(shí)進(jìn)行描述。Flex使得傳統(tǒng)的開發(fā)機(jī)構(gòu)能更好地了解和使用Flash。Flex和Flash的最大缺點(diǎn)在于對(duì)XML和Web服務(wù)等標(biāo)準(zhǔn)的支持很有限,而且作為應(yīng)用開發(fā)工具的環(huán)境還不大成熟。Flex和Flash的優(yōu)點(diǎn)在于它可以很容易的用來創(chuàng)建復(fù)雜的動(dòng)畫式顯示,以及可以使用第三方附件。
Oracle Forms:Oracle Forms是用來構(gòu)建以數(shù)據(jù)庫(kù)為中心的互聯(lián)網(wǎng)應(yīng)用系統(tǒng)的一個(gè)成熟的商品化產(chǎn)品。通過Oracle Forms,你可以使用一個(gè)輸出窗體模塊文件的可視化設(shè)計(jì)器創(chuàng)建窗體。為了便于在該設(shè)計(jì)工具外部進(jìn)一步進(jìn)行處理,模塊文件要么采用私有的FMT格式,要么采用XML格式。這些模塊文件驅(qū)動(dòng)一個(gè)描述窗體的Java運(yùn)行時(shí)環(huán)境。除了所有窗體的標(biāo)準(zhǔn)窗口小部件之外,還可以通過集成附加的可插入的Java組件和一些定制的JavaBean來實(shí)現(xiàn)更多的功能性。Oracle Forms采用的腳本語(yǔ)言為PL/SQL,Oracle數(shù)據(jù)庫(kù)也采用同樣的腳本語(yǔ)言。Oracle Forms的一個(gè)非常有趣的特點(diǎn)就是,用來建立、編輯和編譯窗體模塊文件的Java API--開發(fā)人員可以通過創(chuàng)建腳本來生成眾多的窗體應(yīng)用程序,或者進(jìn)行全局性的改動(dòng)。Oracle Forms的主要缺點(diǎn)是,進(jìn)行Web部署需要獲得Oracle應(yīng)用服務(wù)器的使用許可。它的優(yōu)點(diǎn)是,它可以與Oracle數(shù)據(jù)庫(kù)和Oracle平臺(tái)的其他部分(如Single Sign-On(單一登錄)和Enterprise Manager(企業(yè)管理器))緊密集成,對(duì)國(guó)際化的廣泛支持,以及創(chuàng)建以數(shù)據(jù)為中心應(yīng)用程序的極高效率。
開始選擇和使用RIA技術(shù)
這里只討論了可用于創(chuàng)建RIA的技術(shù)中的一些有代表性的例子,還有很多其他的技術(shù)。當(dāng)選擇一項(xiàng)RIA技術(shù)的時(shí)候,你需要權(quán)衡以下幾個(gè)因素:
- 開放源產(chǎn)品與商品化產(chǎn)品進(jìn)行對(duì)比;
- 成熟的功能與最新的特性進(jìn)行對(duì)比;
- 輕量級(jí)的功能特性范圍與UI的豐富性進(jìn)行對(duì)比;
- 以媒體為中心的應(yīng)用程序與以數(shù)據(jù)為中心的應(yīng)用程序進(jìn)行對(duì)比;
---------------------------------------------------------
AJAX
---------------------------------------------------------
作為J2EE開發(fā)人員,我們似乎經(jīng)常關(guān)注“后端機(jī)制(backend mechanics)”。我們通常會(huì)忘記,J2EE的主要成功之處在Web應(yīng)用程序方面;許多原因使得人們喜歡利用Web開發(fā)應(yīng)用程序,但主要還是因?yàn)槠湟子诓渴鸬奶攸c(diǎn)允許站點(diǎn)以盡可能低的成本擁有上百萬的用戶。遺憾的是,在過去幾年中,我們?cè)诤蠖送度肓颂嗟臅r(shí)間,而在使我們的Web用戶界面對(duì)用戶自然和響應(yīng)靈敏方面卻投入不足。
本文介紹一種方法,Ajax,使用它可以構(gòu)建更為動(dòng)態(tài)和響應(yīng)更靈敏的Web應(yīng)用程序。該方法的關(guān)鍵在于對(duì)瀏覽器端的JavaScript、DHTML和與服務(wù)器異步通信的組合。本文也演示了啟用這種方法是多么簡(jiǎn)單:利用一個(gè)Ajax框架(指DWR)構(gòu)造一個(gè)應(yīng)用程序,它直接從瀏覽器與后端服務(wù)進(jìn)行通信。如果使用得當(dāng),這種強(qiáng)大的力量可以使應(yīng)用程序更加自然和響應(yīng)靈敏,從而提升用戶的瀏覽體驗(yàn)。
該應(yīng)用程序中所使用的示例代碼已打包為單獨(dú)的WAR文件,可供下載。
簡(jiǎn)介
術(shù)語(yǔ)Ajax用來描述一組技術(shù),它使瀏覽器可以為用戶提供更為自然的瀏覽體驗(yàn)。在Ajax之前,Web站點(diǎn)強(qiáng)制用戶進(jìn)入提交/等待/重新顯示范例,用戶的動(dòng)作總是與服務(wù)器的“思考時(shí)間”同步。Ajax提供與服務(wù)器異步通信的能力,從而使用戶從請(qǐng)求/響應(yīng)的循環(huán)中解脫出來。借助于Ajax,可以在用戶單擊按鈕時(shí),使用JavaScript和DHTML立即更新UI,并向服務(wù)器發(fā)出異步請(qǐng)求,以執(zhí)行更新或查詢數(shù)據(jù)庫(kù)。當(dāng)請(qǐng)求返回時(shí),就可以使用JavaScript和CSS來相應(yīng)地更新UI,而不是刷新整個(gè)頁(yè)面。最重要的是,用戶甚至不知道瀏覽器正在與服務(wù)器通信:Web站點(diǎn)看起來是即時(shí)響應(yīng)的。
雖然Ajax所需的基礎(chǔ)架構(gòu)已經(jīng)出現(xiàn)了一段時(shí)間,但直到最近異步請(qǐng)求的真正威力才得到利用。能夠擁有一個(gè)響應(yīng)極其靈敏的Web站點(diǎn)確實(shí)激動(dòng)人心,因?yàn)樗罱K允許開發(fā)人員和設(shè)計(jì)人員使用標(biāo)準(zhǔn)的HTML/CSS/JavaScript堆棧創(chuàng)建“桌面風(fēng)格的(desktop-like)”可用性。
通常,在J2EE中,開發(fā)人員過于關(guān)注服務(wù)和持久性層的開發(fā),以至于用戶界面的可用性已經(jīng)落后。在一個(gè)典型的J2EE開發(fā)周期中,常常會(huì)聽到這樣的話,“我們沒有可投入U(xiǎn)I的時(shí)間”或“不能用HTML實(shí)現(xiàn)”。但是,以下Web站點(diǎn)證明,這些理由再也站不住腳了:
BackPack
Google Suggest
Google Maps
PalmSphere
所有這些Web站點(diǎn)都告訴我們,Web應(yīng)用程序不必完全依賴于從服務(wù)器重新載入頁(yè)面來向用戶呈現(xiàn)更改。一切似乎就在瞬間發(fā)生。簡(jiǎn)而言之,在涉及到用戶界面的響應(yīng)靈敏度時(shí),基準(zhǔn)設(shè)得更高了。
定義Ajax
Adaptive Path公司的Jesse James Garrett這樣定義Ajax:
Ajax不是一種技術(shù)。實(shí)際上,它由幾種蓬勃發(fā)展的技術(shù)以新的強(qiáng)大方式組合而成。Ajax包含:
基于XHTML和CSS標(biāo)準(zhǔn)的表示;
使用Document Object Model進(jìn)行動(dòng)態(tài)顯示和交互;
使用XMLHttpRequest與服務(wù)器進(jìn)行異步通信;
使用JavaScript綁定一切。
這非常好,但為什么要以Ajax命名呢?其實(shí)術(shù)語(yǔ)Ajax是由Jesse James Garrett創(chuàng)造的,他說它是“Asynchronous JavaScript + XML的簡(jiǎn)寫”。
Ajax的工作原理
Ajax的核心是JavaScript對(duì)象XmlHttpRequest。該對(duì)象在Internet Explorer 5中首次引入,它是一種支持異步請(qǐng)求的技術(shù)。簡(jiǎn)而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請(qǐng)求并處理響應(yīng),而不阻塞用戶。
在創(chuàng)建Web站點(diǎn)時(shí),在客戶端執(zhí)行屏幕更新為用戶提供了很大的靈活性。下面是使用Ajax可以完成的功能:
動(dòng)態(tài)更新購(gòu)物車的物品總數(shù),無需用戶單擊Update并等待服務(wù)器重新發(fā)送整個(gè)頁(yè)面。
提升站點(diǎn)的性能,這是通過減少?gòu)姆⻊?wù)器下載的數(shù)據(jù)量而實(shí)現(xiàn)的。例如,在Amazon的購(gòu)物車頁(yè)面,當(dāng)更新籃子中的一項(xiàng)物品的數(shù)量時(shí),會(huì)重新載入整個(gè)頁(yè)面,這必須下載32K的數(shù)據(jù)。如果使用Ajax計(jì)算新的總量,服務(wù)器只會(huì)返回新的總量值,因此所需的帶寬僅為原來的百分之一。
消除了每次用戶輸入時(shí)的頁(yè)面刷新。例如,在Ajax中,如果用戶在分頁(yè)列表上單擊Next,則服務(wù)器數(shù)據(jù)只刷新列表而不是整個(gè)頁(yè)面。
直接編輯表格數(shù)據(jù),而不是要求用戶導(dǎo)航到新的頁(yè)面來編輯數(shù)據(jù)。對(duì)于Ajax,當(dāng)用戶單擊Edit時(shí),可以將靜態(tài)表格刷新為內(nèi)容可編輯的表格。用戶單擊Done之后,就可以發(fā)出一個(gè)Ajax請(qǐng)求來更新服務(wù)器,并刷新表格,使其包含靜態(tài)、只讀的數(shù)據(jù)。
一切皆有可能!但愿它能夠激發(fā)您開始開發(fā)自己的基于Ajax的站點(diǎn)。然而,在開始之前,讓我們介紹一個(gè)現(xiàn)有的Web站點(diǎn),它遵循傳統(tǒng)的提交/等待/重新顯示的范例,我們還將討論Ajax如何提升用戶體驗(yàn)。
---------------------------------------------------------
RIA與AJAX
---------------------------------------------------------
位于尤他州Midvale的Burton Group公司的高級(jí)分析師Richard Monson-Haefel認(rèn)為,當(dāng)提到被大肆宣傳的富互聯(lián)網(wǎng)應(yīng)用(Rich Internet Application ,RIA)技術(shù)時(shí),更少的才是更好的。這種技術(shù)能夠大大促進(jìn)用戶的Web體驗(yàn),因?yàn)椴槐卦購(gòu)姆⻊?wù)器刷新頁(yè)面,Ajax的風(fēng)格是單頁(yè)面接口。但他在最近關(guān)于 Ajax的電視短片中說過度使用會(huì)導(dǎo)致導(dǎo)航困難。
他說,Ajax比起其它RIA技術(shù)的主要優(yōu)點(diǎn)是無縫與HTML集成,因此它可以大量使用而不需要改變現(xiàn)有Web內(nèi)容。“把它想象成Web站點(diǎn)的調(diào)料。這樣做的風(fēng)險(xiǎn)非常小。Ajax還是后臺(tái)無關(guān)且不需要任何插件。與其它RIA技術(shù),例如 Macromedia的Flash等聯(lián)合使用,Ajax會(huì)是一個(gè)強(qiáng)大的工具。”
但是,該技術(shù)還沒有成熟,而且工具和框架還沒有得到支持。Monson-Haefel說:“如果你不喜歡用工具集和類庫(kù),Ajax就不適合你。”
Burton Group定義“富”互聯(lián)網(wǎng)應(yīng)用是能夠在標(biāo)準(zhǔn)HTML框架和鏈接之上提供功能的。Google Maps就是這樣一個(gè)優(yōu)秀的Ajax例子。
與Ajax最近被才提出不同,JavaScript已經(jīng)存在很久了。它基于JavaScript/ECMAScript,、級(jí)聯(lián)樣式表、文檔對(duì)象模型以及XML HTTP請(qǐng)求。最初,很難跨越不同瀏覽器來設(shè)計(jì)Ajax風(fēng)格的應(yīng)用程序。但現(xiàn)在,主流瀏覽器已經(jīng)演變到支持微軟技術(shù)的實(shí)現(xiàn)了,并成為了最普通的特征。
今天,占主導(dǎo)地位的RIA技術(shù)是Macromedia的Flash/Flex。其它RIA技術(shù)包括為Microsoft Windows Presentation Foundation開發(fā)的用戶接口標(biāo)記語(yǔ)言,稱為XAML(Extensible Application Markup Language,可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言)。還有Mozilla的基于XML的用戶接口語(yǔ)言XUL,droplets和Java applets以及微軟將要推出的Windows Presentation Foundation/Everywhere (WPF/E)。
Monson-Haefe說:“Flash是很好的技術(shù),適合于豐富動(dòng)畫與圖形,但Flash好象是一個(gè)小池塘中的大魚。現(xiàn)實(shí)市場(chǎng)現(xiàn)在還沒有那么大,因此隨著市場(chǎng)變大它是否能占領(lǐng)市場(chǎng)還是一個(gè)疑問。而微軟將推出的WPF/E會(huì)是一個(gè)有力的競(jìng)爭(zhēng)者。”
微軟還計(jì)劃推出一個(gè)Ajax框架擴(kuò)展,稱為Atlas。Monson-Haefel認(rèn)為它非常有前途。他說,Ajax的其它集成開發(fā)環(huán)境還沒成為主流。這包括Morfik Technology公司的Javascript Synthsis Technology (JST)、JetBrains公司的IntelliJ IDEA 5.0、Tibco Software公司的Tibco General Interface (GI)、JackBe公司的Visual GUI Builder、Backbase B.V.公司的Backbase以及開源的Ruby on Rails框架。
他說:“它已經(jīng)內(nèi)建了Ajax功能,使你能夠用Ruby編程語(yǔ)言編寫Ajax應(yīng)用程序。”
Monson-Haefel說:“用于編寫Ajax應(yīng)用的Tibco工具非常好。JackBe也是相當(dāng)好的RIA技術(shù)而Backbase或許是現(xiàn)在更好的一個(gè)。IDE的優(yōu)點(diǎn)就是所見即所得的開發(fā)方式,但你購(gòu)買了他們的GUI,這樣你也受到觀感上的束縛。”
除了IDE和框架擴(kuò)展,Monson-Haefel還提到可用的Ajax UI工具和遠(yuǎn)程工具還有很多,包括私有的和開源的產(chǎn)品。他說,只有一部分。根據(jù)Burton Group公司最近的一項(xiàng)調(diào)查,在488位Ajax開發(fā)人員中,最流行的工具集、類庫(kù)和框架擴(kuò)展是有MIT風(fēng)格證書的JavaScript框架—— Prototype,JavaScript 類庫(kù)——Script.aclo.us,有Apache 2.0證書的Direct Web Remoting,有Academic Free License v 2.1的Dojo UI工具集以及Ruby on Rails。
至于數(shù)據(jù),對(duì)Ajax的關(guān)注主要集中在B2C的Web站點(diǎn),但Monson-Haefel指出Ajax實(shí)際上與Web服務(wù)和SOA有緊密聯(lián)系,它能影響企業(yè)門戶。
“一些人相信Ajax將成為門戶解決方案的主要復(fù)蘇因素。門戶被宣傳了很久,但實(shí)際上它并非所謂的銀彈。而Ajax表示層與門戶的結(jié)合將促進(jìn)所有用戶的體驗(yàn)。”
Monson-Haefel警告說Ajax很容易被濫用。“假如開發(fā)人員不理解使用理論,他們就會(huì)胡亂應(yīng)用它而且人們會(huì)刻意避開JavaScript。我的推理來自瀏覽器彈出窗口。這種技術(shù)源于一種可用特性,但由于被濫用它已經(jīng)成為Web技術(shù)中的下等公民,人們也不再使用它了。”
分享:ajax技術(shù)制作得在線歌詞搜索功能最新制作完成的在線歌詞搜索功能,利用ajax技術(shù),無刷新顯示歌詞,只需要輸入你要查找的歌曲名或歌詞。界面還不是很好看,完善中...... 1 o
- Ajax中瀏覽器的緩存問題解決方法
- AJAX和WebService實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)具體代碼
- ajax 登錄功能簡(jiǎn)單實(shí)現(xiàn)(未連接數(shù)據(jù)庫(kù))
- AJAX和WebService實(shí)現(xiàn)郵箱驗(yàn)證(無刷新驗(yàn)證郵件地址是否合法)
- AJAX和三層架構(gòu)實(shí)現(xiàn)分頁(yè)功能具體思路及代碼
- 使用AJAX返回WebService里的集合具體實(shí)現(xiàn)
- AJAX獲取服務(wù)器當(dāng)前時(shí)間及時(shí)間格式輸出處理
- ajax傳遞多個(gè)參數(shù)具體實(shí)現(xiàn)
- ajax傳遞一個(gè)參數(shù)具體實(shí)現(xiàn)
- 滑輪滾動(dòng)到頁(yè)面底部ajax加載數(shù)據(jù)配合jsonp實(shí)現(xiàn)探討
- jQery ajax——load()方法示例介紹
- jQuery+Ajax實(shí)現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)
AJAX教程Rss訂閱編程教程搜索
AJAX教程推薦
猜你也喜歡看這些
- javascript Ajax獲取遠(yuǎn)程url的返回判斷
- 解析AjaxPro與服務(wù)器端交互過程中如何傳值
- AJAX和WebService實(shí)現(xiàn)郵箱驗(yàn)證(無刷新驗(yàn)證郵件地址是否合法)
- 如何十分鐘學(xué)會(huì) xajax
- Ajax開發(fā)十個(gè)常犯的錯(cuò)誤
- AJAX 請(qǐng)求區(qū)分 $_SERVER[''HTTP_X_REQUESTED_WITH''] 小解
- 怎樣使用AJAX進(jìn)行WEB應(yīng)用程序開發(fā)
- jQuery Ajax使用心得詳細(xì)整理及注意事項(xiàng)
- Json數(shù)據(jù)異步綁定到界面的Table并且自動(dòng)刷新原理及代碼
- JQuery的ajax的用法在asp中使用$.ajax()實(shí)現(xiàn)
- 相關(guān)鏈接:
- 教程說明:
AJAX教程-解析RIA和AJAX
。