Ajax框架有基于服務(wù)器端和客戶端兩種,多數(shù)是開(kāi)源實(shí)現(xiàn),并且發(fā)展速度很快。
服務(wù)器端框架 1. Sajax Sajax擁有活躍的社區(qū),支持Perl、Python、Ruby、ASP等語(yǔ)言,每種語(yǔ)言Sajax都有一個(gè)簡(jiǎn)單的庫(kù),利用Sajax可以直接從JavaScript調(diào)用服務(wù)器代碼。
官方網(wǎng)站:
http://www.modernmethod.com/sajax 。
2. JSON JSON作為JavaScript語(yǔ)言的一個(gè)子集,是一種描述數(shù)據(jù)的輕量級(jí)語(yǔ)法,和XML類(lèi)似,用于交換數(shù)據(jù)。XML相關(guān)的有XML-RPC,JSON也有JSON-RPC遠(yuǎn)程調(diào)用協(xié)議,它在Java、Ruby、Python、Perl中都有實(shí)現(xiàn)。
網(wǎng)上參考:
http://www.crockford.com/json/ 。
3. DWR DWR這個(gè)字眼出現(xiàn)的頻率較高,在網(wǎng)上搜索了一下,查到DWR全稱(chēng)是Direct Web Remoting,代表著可以直接從JavaScript遠(yuǎn)程調(diào)用Java方法。使用DWR需要一些額外的配置,如編輯Web應(yīng)用的描述文件,編輯DWR的配置文件,來(lái)指定可以遠(yuǎn)程創(chuàng)建和調(diào)用的類(lèi),從這種方式可以看出其中存在一些安全隱患,但是,由于DWR支持常用的Struts/WebWork/Tapestry Web框架,在Apache協(xié)議下發(fā)布,加上豐富的文檔資料,使得DWR在Java領(lǐng)域非常流行。
介紹DWR的相關(guān)文章可以參考:
http://www.blogjava.net/mstar/category/2359.html http://www.blogjava.net/zkjbeyond/category/11348.html 更多信息可以訪問(wèn):
http://getahead.ltd.uk/dwr/index 。
4. Buffalo Buffalo是由國(guó)人開(kāi)發(fā)的Ajax框架。Buffalo中定義了Web遠(yuǎn)程調(diào)用的傳輸基礎(chǔ),并且將遠(yuǎn)程調(diào)用對(duì)象完整的序列化到了本地,成為可以被JavaScript編程觸及的對(duì)象。Buffalo中的重要組件-BuffaloBinding,提供了將JavaScript對(duì)象綁定到HTML元素的能力。這種綁定將是無(wú)侵入的,只需要在HTML元素中加入若干個(gè)不影響排版的屬性,即可將數(shù)據(jù)與界面綁定。Buffalo1.2引入了新的眾多的特性包括,新的重新改寫(xiě)的Spring集成,與流行JavaScript庫(kù)Prototype的集成,支持瀏覽器前進(jìn)后退按鈕等等。
下載鏈接:
http://www.amowa.net/buffalo/ 。[引自CSDN]
5. Ajax.Net 顧名思義,Ajax.Net是.Net平臺(tái)下的Ajax框架,它可以從JavaScript客戶端調(diào)用.Net方法。Ajax.Net所包括的DLL可以和VB.Net/C#配合使用,其相關(guān)文檔也很多。參考網(wǎng)站:
http://ajax.net/ 。
6. Atlas 這是Microsoft的一個(gè)項(xiàng)目,其特點(diǎn)在于提供客戶端腳本框架、ASP.Net控件及Web服務(wù)集成。微軟的項(xiàng)目,還是值得關(guān)注的。
相關(guān)介紹:
http://blog.joycode.com/saucer/archive/2005/06/30/58284.aspx/ 。
7. Ruby on Rails
這個(gè)就不用多說(shuō)了,前段時(shí)間開(kāi)始就炒的異常火熱的一個(gè)框架,建立在Ruby語(yǔ)言基礎(chǔ)上,其最顯著的特性是能夠快速開(kāi)發(fā)Web應(yīng)用,使用Rails會(huì)覺(jué)得Ajax非常簡(jiǎn)單。Rails擁有許多JavaScript庫(kù),另外有一個(gè)模塊封裝了Ruby的JavaScript調(diào)用。對(duì)各種Rails的介紹,可以參考
江南白衣的文章
各系Rails大點(diǎn)兵。網(wǎng)站參考:
http://www.rubyonrails.org/ 。
8.AjaxPro
9.Bitkraft for ASP.NET
Bitkraft是個(gè)基于(.NET)Web框架的CLR(公共語(yǔ)言運(yùn)行庫(kù)),允許用獨(dú)特的方式創(chuàng)建和操作分布式Web內(nèi)容。用C#編寫(xiě),運(yùn)行在微軟的.NET 1.1和Mono框架下,無(wú)縫式的客戶端-服務(wù)器響應(yīng)方式是它的最大特點(diǎn)。Bitkraft沒(méi)有使用XML組織數(shù)據(jù),而是用JSON代替。
- 支持的瀏覽器: IE5+, Firefox1+, NS6
- 服務(wù)器端要求:ASP.NET, Mono XSP, Cassini, Apache (modMono) .NET Framework 1.1+
- 事件驅(qū)動(dòng)
- 支持同步和異步的遠(yuǎn)程代理
- 客戶端支持所有的.NET類(lèi)型或自定義類(lèi)對(duì)象映射到JSON中
- 用JSON取代XML
- 免費(fèi),開(kāi)源許可協(xié)議
10 WebORB for .NET (2005年8月)
WebORB for .NET是一個(gè)用.NET和XML Web Services方式開(kāi)發(fā)AJAX和基于Flash的富客戶端應(yīng)用程序(在線例子)
- WebORB包括一個(gè)富客戶端開(kāi)發(fā)類(lèi)庫(kù)。提供簡(jiǎn)單的在線式API用來(lái)綁定或者調(diào)用任何.NET對(duì)象、XML Web Services
- 支持異步或同步的事件驅(qū)動(dòng)
- 不需要在服務(wù)端修改任何代碼,不需要自定義方法或?qū)傩?、變量等。不要求設(shè)計(jì)時(shí)指定代理等。
- 同步調(diào)用不需要回調(diào),異步調(diào)用需要一個(gè)回調(diào)方法。
- 客戶端可以向服務(wù)端請(qǐng)求指定的活動(dòng)方式,不需要任何編程就可以把處理結(jié)果輕易的轉(zhuǎn)變?yōu)闋顟B(tài)。
- 提供一個(gè)特定API來(lái)處理數(shù)據(jù)庫(kù)查詢結(jié)果-服務(wù)器代碼能返回DataSet或者DataTable,而客戶端以一個(gè)類(lèi)似于RecordSet的&#106avascript對(duì)象來(lái)顯示這個(gè)結(jié)果。該對(duì)象提供檢索列名和行數(shù)據(jù)的方法。
- 支持?jǐn)?shù)據(jù)分頁(yè)技術(shù)??蛻魬?yīng)用程序能檢索頁(yè)面中的數(shù)據(jù)。
- 支持以參數(shù)的方式返回所有服務(wù)期端數(shù)據(jù)類(lèi)型,如primitives, strings, complex types, arrays, native .net collections, remote references
- 目前有兩個(gè)版本:標(biāo)準(zhǔn)版(免費(fèi)),專(zhuān)業(yè)版(商業(yè)許可)
11ComfortASP.NET (2005年8月)
ComfortASP.NET可以讓開(kāi)發(fā)者在純.NET下開(kāi)發(fā)類(lèi)似AJAX(DHTML,&#106avascript,XMLHttp)特性的應(yīng)用程序。
- 快速應(yīng)答
- 減少HTML傳輸
- 減少頁(yè)面重載
- 無(wú)閃爍的瀏覽器內(nèi)容更改
- AJAX用戶體驗(yàn),
12 AjaxAspects (2005年8月)
AjaxAspects是個(gè)可以用&#106avascript調(diào)用服務(wù)端WebService事件的引擎
- 用標(biāo)準(zhǔn)的SOAP和WSDL進(jìn)行服務(wù)端-客戶端通信
- 用簡(jiǎn)單的類(lèi)型和XML對(duì)象支持帶參數(shù)的返回值
- 緩存支持
- 動(dòng)作隊(duì)列
- 免費(fèi)使用,開(kāi)源協(xié)議
客戶端框架
1. Dojo
最老的框架之一,2004年9月開(kāi)始開(kāi)發(fā),它具有一個(gè)獨(dú)特的特性,即支持向后和向前按鈕,通過(guò)注冊(cè)一個(gè)回調(diào)的方法,使得用戶在點(diǎn)擊向后和向前按鈕的時(shí)候調(diào)用改方法,實(shí)現(xiàn)后退前進(jìn)的功能。Dojo是相對(duì)成熟的工具包之一。
具體內(nèi)容參考網(wǎng)站:
http://dojotoolkit.org/ 。
2. Rico
Rico側(cè)重點(diǎn)在于拖放效果、數(shù)據(jù)網(wǎng)格、自定義頁(yè)面布局、淡入淡出等人性化效果的輕易實(shí)現(xiàn),使用Rico需要Prototype.js庫(kù)來(lái)支撐,zkjbeyond有關(guān)于Prototype.js的基本介紹。
Rico官方網(wǎng)站:http://openrico.org/home.page/ 。
3. Flash/JavaScript集成庫(kù)
如果要混合使用Flash和Ajax,則可以使用Flash/JavaScript集成庫(kù),這個(gè)工具集可以使得JavaScript和ActionScript(Flash中支持的語(yǔ)言)能夠相互調(diào)用,傳遞數(shù)據(jù)。
相關(guān)資料可以訪問(wèn):http://weblogs.macromedia.com/flashjavascript/ 。
4. SACK
SACK是一個(gè)針對(duì)XMLHttpRequest的瘦包裝器,可以簡(jiǎn)化Ajax開(kāi)發(fā),它由一個(gè)JavaScript文件組成,包含很少的代碼,入門(mén)比較方便,它最主要的特性應(yīng)該就是足夠簡(jiǎn)單。
相關(guān)信息可以訪問(wèn):http://twilightuniverse.com/projects/sack/ 。
5. RSLite
RSLite是遠(yuǎn)程腳本的一個(gè)實(shí)現(xiàn),從2000年開(kāi)始發(fā)展。它的特性在于擁有廣泛瀏覽器的支持(因?yàn)闆](méi)有利用XMLHttpRequest對(duì)象),它是一個(gè)輕量級(jí)的框架。
網(wǎng)站信息:http://www.ashleyit.com/rs/rslite/ 。
6. Google AJAXSTL
Google AJAXSTL是使用XPath的XSL轉(zhuǎn)換(XSLT)的JavaScript實(shí)現(xiàn)。該工具包很小,并且還不完善,但作為使用AJAX的先驅(qū),還是應(yīng)該給予一定的關(guān)注。
開(kāi)源鏈接:http://goog-ajaxslt.sourceforge.net/ 。
qooxdoo (開(kāi)發(fā)中; 成立于2005年5月)
qooxdoo,是另一個(gè)發(fā)展迅猛的應(yīng)用框架,提供廣泛的UI支持,正在開(kāi)發(fā)基礎(chǔ)架構(gòu)等特性。
* 基礎(chǔ)結(jié)構(gòu)特性:
o 能輕易的捕獲和操縱DOM事件
o 支持調(diào)試
o 支持一個(gè)時(shí)間操作的Timer類(lèi)
o Getter/Setter支持
* UI:
o 窗口組件庫(kù)和框架
o 界面布局管理
o 圖像緩存和透明PNG圖片處理
* 開(kāi)源(LGPL).
Tibet (開(kāi)發(fā)中; 創(chuàng)建于2005年6月)
Tibet提供了大量的易移植和完整的JavaScript API,通過(guò)這些可以快速生成大量的客戶端
代碼,Tibet自稱(chēng)是企業(yè)級(jí)AJAX。
* 遠(yuǎn)程腳本調(diào)用封裝在XMLHttpRequest中
* URI支持
* 支持所有的HTTP事件,不再僅僅是GET和POST
* 低級(jí)的協(xié)議-File://和WebDav也可以當(dāng)作HTTP正常使用
* Web Services調(diào)用支持,包括SOAP、XML-RPC等等
* 大型的Javascript對(duì)象庫(kù)
* 多種多樣的XML操作支持
* IDE和開(kāi)發(fā)工具
* 開(kāi)源協(xié)議(OSI)