原貼地址:http://www.duduwolf.com/post/AJAX_Frameworks.asp#3.4
此文原出于AJAX Patterns網(wǎng)站的一篇《Ajax Frameworks》的wiki文章,很早前我就注意到,后來(lái)在國(guó)內(nèi)也有人翻譯了,不過(guò)最近發(fā)現(xiàn)此wiki還是在不斷添加維護(hù)中,截止此文發(fā)布前,作者又添加了好幾個(gè)新誕生的AJAX開(kāi)發(fā)工具,所以我決定重新翻譯一遍,并且時(shí)常注意原文發(fā)布狀態(tài),一有新的內(nèi)容立馬也翻譯過(guò)來(lái),做到同步:)
此翻譯稿很大一部分內(nèi)容出自國(guó)內(nèi)出現(xiàn)的那個(gè)先前版本,我只是對(duì)新加入的幾項(xiàng)進(jìn)行了翻譯,并且對(duì)我熟悉的產(chǎn)品項(xiàng)著重介紹了一下,以后我會(huì)抽時(shí)間收集文中提到AJAX工具相關(guān)的文章,盡量將內(nèi)容介紹和功能點(diǎn)評(píng)做到全面詳細(xì)點(diǎn)。所以請(qǐng)關(guān)注和準(zhǔn)備用AJAX做開(kāi)發(fā)的朋友關(guān)注這篇文章,我會(huì)時(shí)常更新的。原文因?yàn)槭怯梢粋€(gè)wiki系統(tǒng)維護(hù),所以在所難免出現(xiàn)參差不齊,風(fēng)格上也有不統(tǒng)一的情況,翻譯時(shí)我也是參照原文原封不動(dòng)的挪了過(guò)來(lái),以后我會(huì)抽時(shí)間改良下。
翻譯正文
基于瀏覽器的應(yīng)用框架一般分為兩種:
-
Aplication frameworks:提供了瀏覽器功能,但其最著名的還是在于通過(guò)窗口生成組件建立桌面GUI。
-
Infrastructural frameworks:提供基本的框架功能和輕便式瀏覽器端操作,讓開(kāi)發(fā)者去創(chuàng)建具體應(yīng)用,主要功能包括:
-
基于XMLHttpRequest組件的瀏覽器交互功能
-
XML解析和操作功能
-
根據(jù)XMLHttpRequest的返回信息進(jìn)行相應(yīng)的DOM操作
-
一些特殊情況下,和其他的瀏覽器端技術(shù)如Flash(或Java Applets)等集合到一起應(yīng)用
基于服務(wù)器端的應(yīng)用框架通常以下面兩種方式工作(盡管它們根據(jù)不同的語(yǔ)言進(jìn)行了分類)
-
HTML/JS Generation(HTML/JS生成):通過(guò)服務(wù)器端生成HTML和JS代碼在傳遞給瀏覽器端進(jìn)行直接運(yùn)行
-
遠(yuǎn)程交互:JavaScript調(diào)用服務(wù)器端函數(shù)(例如調(diào)用Java函數(shù))并返回給JavaScript的回調(diào)句柄,或者請(qǐng)求服務(wù)器端數(shù)據(jù)信息,例如Session信息,數(shù)據(jù)庫(kù)查詢等。
---------------------------------------------------------------
1.
Pure Javascript: Application Frameworks
1.1
Bindows (成立于2003年)
Backbase
是一個(gè)通過(guò)DHTML、JavaScript、CSS和HTML等技術(shù)強(qiáng)勁聯(lián)合起來(lái)的一套完整的Windows桌面式的WEB應(yīng)用程序解決方案。Bindows無(wú)需下載安裝客戶端支撐組件(如Java、ActiveX或Flash),僅需一個(gè)瀏覽器。純OO的理念體現(xiàn)在Bindows任何地方,Bindows或許是筆者見(jiàn)過(guò)的最完整最強(qiáng)大的AJAX應(yīng)用程序平臺(tái)。
Bindows是商業(yè)程序的,使用了來(lái)自于MB的技術(shù)(總部位于GA USA,主要開(kāi)發(fā)中心在瑞典,成立于2002年)。
Bindows框架提供的功能和特性有:
-
基于面相對(duì)象技術(shù)的類和API
-
一套完整的Windows桌面系統(tǒng),支持各種特性窗口模式,包括菜單、表單、表格、滑動(dòng)條、測(cè)量?jī)x器窗口和其他一些Windows窗口特性支持。
-
是開(kāi)發(fā)zero-footprint(零空間占用)SOA客戶端應(yīng)用程序首選工具包
-
本機(jī)的XML,SOAP和XML-RPC支持
-
單用戶到企業(yè)級(jí)開(kāi)發(fā)的支持
-
內(nèi)建的完美的AJAX支持
Bindows開(kāi)發(fā)環(huán)境:
-
支持企業(yè)級(jí)規(guī)模的項(xiàng)目開(kāi)發(fā)
-
跨瀏覽器、跨OS平臺(tái)的支持
-
不受服務(wù)器結(jié)構(gòu)限制
-
良好的與新的、現(xiàn)有的資源互操作性
-
統(tǒng)一的開(kāi)發(fā)接口
1.2
BackBase (成立于2003年)
BackBase
是一個(gè)完整的瀏覽器端框架,提供了豐富的瀏覽器操作功能,以及對(duì).NET和JAVA平臺(tái)的集成。
商業(yè)化產(chǎn)品,來(lái)自于Backbase B.V(總部在Amsterdam,成立于2003年)。
1.3
DOJO (開(kāi)發(fā)中,成立于2004年9月)
DOJO提供完整的輕量級(jí)窗口組件和瀏覽器-服務(wù)器消息映射支持
1.4
Open Rico (開(kāi)發(fā)中;成立于2005年5月;基于早期的一個(gè)proprietary 框架)
Open Rico
是一個(gè)支持Ajax架構(gòu)和用戶交互的多用途框架。
-
一個(gè)XMLHttpRequest response能被一個(gè)或多個(gè)的DOM對(duì)象,或者Javascript對(duì)象調(diào)用。
-
支持拖拽操作
-
支持基于AJAX的動(dòng)畫(huà)模式,如縮放和變換等
-
基于Behaviors的操作庫(kù)
-
使用指南
,由RussMirimar的Yonah提供
-
開(kāi)源。源于Sabre航空公司解決方案,由
Bill Scott
,Darren James及另外一些人維護(hù)。
1.5
qooxdoo (開(kāi)發(fā)中; 成立于2005年5月)
qooxdoo
,是另一個(gè)發(fā)展迅猛的應(yīng)用框架,提供廣泛的UI支持,正在開(kāi)發(fā)基礎(chǔ)架構(gòu)等特性。
-
基礎(chǔ)結(jié)構(gòu)特性:
-
能輕易的捕獲和操縱DOM事件
-
支持調(diào)試
-
支持一個(gè)時(shí)間操作的Timer類
-
Getter/Setter支持
-
UI:
-
窗口組件庫(kù)和框架
-
界面布局管理
-
圖像緩存和透明PNG圖片處理
-
開(kāi)源(LGPL).
1.6 Tibet (開(kāi)發(fā)中; 創(chuàng)建于2005年6月)
Tibet
提供了大量的易移植和完整的JavaScript API,通過(guò)這些可以快速生成大量的客戶端代碼,Tibet自稱是企業(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)
1.7 AJFORM (創(chuàng)建于2005年6月)
AJFORM
是一個(gè)極易上手的AJAX框架,被用來(lái)編寫(xiě)入門級(jí)的AJAX代碼,提供有以下功能:
-
三步安裝
-
自動(dòng)支持任意HTML表單元素
-
幾乎無(wú)需編碼即可實(shí)現(xiàn)AJAX
2 Pure Javascript: Infrastructural Frameworks
2.1 AjaxCaller(創(chuàng)建于2005年5月,目前是Alpha版)
AjaxCaller
是一個(gè)具有多線程安全訪問(wèn)的XMLHttpRequest組件,主要針對(duì)Ajax開(kāi)發(fā)新手,目前仍處于alpha開(kāi)發(fā)階段,僅在
AjaxPatterns
的在線搜索范例中使用了這個(gè)程序。
-
用明文或者XML結(jié)構(gòu)的數(shù)據(jù)實(shí)現(xiàn)和服務(wù)器的交互(GET/POST/PUT/DELETE)
-
支持XMLHttRequest對(duì)象的構(gòu)析(銷毀對(duì)象,C++支持內(nèi)存對(duì)象的構(gòu)析操作)
-
支持Response的高速緩存(尚在計(jì)劃中)
-
簡(jiǎn)單的庫(kù)文件代碼易于新手學(xué)習(xí)使用,并且支持腳本調(diào)試
-
開(kāi)源協(xié)議
2.2 Flash JavaScript Integration Kit
The Flash JavaScript Integration Kit
可以使Flash和Javascript腳本實(shí)現(xiàn)相互集成。
-
可以實(shí)現(xiàn)在JavaScript中調(diào)用Flash ActionScript腳本,反之亦然。
-
幾乎支持雙方主要數(shù)據(jù)類型的在不同環(huán)境中的傳遞調(diào)用。
-
開(kāi)源協(xié)議,有幾個(gè)Flash開(kāi)源愛(ài)好者維護(hù)。
2.3 Google AJAXSLT (2005年6月發(fā)行)
Google AJAXSLT
,是一個(gè)Javascript框架,用來(lái)執(zhí)行XSLT轉(zhuǎn)換以及XPath查詢。
-
目前在Google Map上就使用了這個(gè)。
-
開(kāi)源協(xié)議(BSD)
2.4 HTMLHttpRequest(Beta版;創(chuàng)建于2005年)
HtmlHttpRequest
最大的特點(diǎn)就是運(yùn)用XMLHttpRequest對(duì)象和標(biāo)準(zhǔn)HTML標(biāo)簽IFrame來(lái)實(shí)現(xiàn)最大限度的跨瀏覽跨平臺(tái)的AJAX支持,其原理是在支持XMLHttpRequest的瀏覽器上調(diào)用XMLHttp,如果不支持,就用IFrame來(lái)模擬實(shí)現(xiàn)異步交互。
-
目前支持的瀏覽器:IE6/Win, IE5.5/Win, IE5/Win, IE4/Win, Mozilla/Win, Opera7/Win, Safari/Mac, IE5/Mac
-
尚未測(cè)試的瀏覽器:IE4/Mac, Mozilla/Mac, Opera/Other, Konqueror/Linux。
-
開(kāi)源協(xié)議(LGPL)
2.5 Interactive Website Framework (創(chuàng)建于2005年)
Interactive Website Framework
定位在瀏覽器中支持各種各樣的AJAX基礎(chǔ)應(yīng)用的開(kāi)源項(xiàng)目。自稱是通過(guò)JavaScript、CSS、XML和HTML實(shí)現(xiàn)高性能的交互式WEB框架,包括一個(gè)可定制易讀的XML解析器。實(shí)際上,IWF是一個(gè)AJAX的基礎(chǔ)框架,并且還包括一些通用腳本代碼。
-
實(shí)現(xiàn)了線程安全的XMLHttpRequest
-
對(duì)XML Document進(jìn)行封裝,以便創(chuàng)建更具有可讀性的代碼:
var node = doc.groceries.frozen[0].pizza[0].size;
封裝后的數(shù)據(jù)讀取
var node = doc.documentElement.firstChild.firstChild.getAttribute("size");
原始的DOM操作讀取
-
開(kāi)源協(xié)議
2.6 LibXMLHttpRequest (2003年6月發(fā)布)
libXmlRequest
是一個(gè)小型XMLHttpRequest封裝包
-
用getXML()和postXML()兩個(gè)事件簡(jiǎn)化XMLHttpReuqest調(diào)用
-
支持XMLHttpRequest對(duì)象池
-
Response緩存處理
-
源碼可以使用,但是有版權(quán)保護(hù)。
2.7 MAJAX
MAJAX
是另一個(gè)非常小巧的HttpRequest封裝包,為收發(fā)字符型信息提供簡(jiǎn)單接口,并為每步動(dòng)作設(shè)置回調(diào)界面。
2.8 RSLite (x)
RSLite
是一個(gè)XMLHttpRequest封裝組件,作為Brent Ashley的JSRS(JavaScript Remote Scripting)其中的一部分功能單獨(dú)發(fā)布。詳情可以看JSRS的介紹
2.9 Sack(開(kāi)發(fā)中,成立于2005年5月)
Sack
也是一個(gè)很有名字的微型XMLHttpRequest封裝包。調(diào)用者可以自定義回調(diào)函數(shù)或者是DOM對(duì)象。借助于回調(diào)DOM對(duì)象,可以把Response回來(lái)的數(shù)據(jù)直接以文本的方式嵌入DOM中。
2.10 Sarissa (發(fā)布于2003年2月)
Sarissa
是一個(gè)JavaScript API,封裝了在瀏覽器端獨(dú)立調(diào)用XML的功能。
-
可移植的XMLHttpRequest對(duì)象創(chuàng)造
-
可移植的XPath查詢
-
可移植的DOM操控
-
可移植的XSLT
-
可移植的XML序列化
-
開(kāi)源協(xié)議(GPL2.0和LGPL2.1)
2.11 XHConn (2005年4月發(fā)布)
XHConn
也是一個(gè)小型的XMLHttpRequest封裝庫(kù)。筆者也使用改良過(guò)的XHConn,其特點(diǎn)就是調(diào)用簡(jiǎn)單,代碼也清晰易讀。
-
例子:
new XHConn().connect("mypage.php","POST","foo=bar&baz=qux",fnWhenDone);
-
開(kāi)源協(xié)議許可
3 Server-Side: Multi-Language
3.1 Cross-Platform Asynchronous INterface Toolkit (2005年5月)
CPAINT
是一個(gè)真正的同時(shí)支持PHP和ASP/VBScript腳本的AJAX和JSRS工具包。CPAINT在后臺(tái)提供你需求的AJAX和JSRS代碼,并自動(dòng)返回到瀏覽器端相應(yīng)的Javascript腳本代碼,這種方式易于實(shí)時(shí)反饋需求的WEB應(yīng)用程序。
-
支持PHP和ASP
-
所有功能函數(shù)都在統(tǒng)一的JavaScript文件中
-
支持遠(yuǎn)程腳本和XML
-
支持本地和遠(yuǎn)程函數(shù)調(diào)用
-
可以創(chuàng)建單個(gè)或多個(gè)XMLHttp對(duì)象
-
返回給后臺(tái)的數(shù)據(jù)即可以是文本也可以是XML/DOM文檔對(duì)象
-
支持POST和GET
-
用服務(wù)端代理的方式實(shí)現(xiàn)遠(yuǎn)程函數(shù)和數(shù)據(jù)的訪問(wèn)操作
-
大部分瀏覽器中測(cè)試正常使用
-
在GNU、GPL、LGPL開(kāi)源協(xié)議保護(hù)下發(fā)行
3.2 SAJAX (2005年3月)
SAJAX
的實(shí)現(xiàn)方式很獨(dú)特,例如:調(diào)用一個(gè)javascript方法x_calculateBudget(),將先把響應(yīng)傳到服務(wù)器并調(diào)用一個(gè)Java calculateBudget()方法,然后以javascript方式把值返回到x_calculateBudget_cb()中。SAJAX的名氣不錯(cuò),估計(jì)很多人都聽(tīng)過(guò)甚至用過(guò),不過(guò)缺點(diǎn)就是它的這套映射理論感覺(jué)較繁鎖,遠(yuǎn)不如一些輕量級(jí)的封裝庫(kù)好用,不過(guò)SAJAX最大的特點(diǎn)就是支持的平臺(tái)豐富,幾乎囊括了WEB下常用的編程語(yǔ)言和平臺(tái)
-
很方便從JavaScript函數(shù)映射到服務(wù)端代理操作
-
支持多種平臺(tái)(ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby)
-
開(kāi)源協(xié)議
3.3 Javascipt Object Notation (JSON) and JSON-RPC
JSON
是一個(gè)"face-free" XML,而
JSON-RPC
是一種遠(yuǎn)程交互協(xié)議,類似于XML-RPC,對(duì)JavaScript支持較強(qiáng)
3.4 JavaScript Remote Scripting(JSRS)(2000年)
JSRS
,較經(jīng)典的遠(yuǎn)程腳本訪問(wèn)組件,支持將客戶端數(shù)據(jù)通過(guò)服務(wù)器做代理進(jìn)行遠(yuǎn)程的數(shù)據(jù)/操作交互。
-
支持的瀏覽器:IE4+,NS4.x,NS6.x,Mozilla,Opera7和Galeon。
-
服務(wù)器端腳本語(yǔ)言支持:ASP,ColdFusion,PerlCGI,PHP,Python和JSP(servlet)。
-
開(kāi)源協(xié)議。由
Brent Ashley
提供支持。
3.5 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類型或自定義類對(duì)象映射到JSON中
-
用JSON取代XML
-
免費(fèi),開(kāi)源許可協(xié)議
4 Server-Side: Java
4.1 WebORB for Java (2005年8月)
WebORB for Java
是一個(gè)開(kāi)發(fā)AJAX和基于Flash的富客戶端應(yīng)用程序的開(kāi)發(fā)平臺(tái)。
在線例子
-
WebORB包括一個(gè)富客戶端開(kāi)發(fā)類庫(kù)。提供簡(jiǎn)單的在線式API用來(lái)綁定或者調(diào)用任何Java對(duì)象、XML Web Services和EJB
-
支持異步或同步的事件驅(qū)動(dòng)
-
不需要在服務(wù)端修改任何代碼,不需要自定義方法或?qū)傩浴⒆兞康取2灰笤O(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è)類似于RecordSet的JavaScript對(duì)象來(lái)顯示這個(gè)結(jié)果。該對(duì)象提供檢索列名和行數(shù)據(jù)的方法。
-
支持?jǐn)?shù)據(jù)分頁(yè)技術(shù)。客戶應(yīng)用程序能檢索頁(yè)面中的數(shù)據(jù)。
-
支持以參數(shù)的方式返回所有服務(wù)期端數(shù)據(jù)類型,如primitives, strings, complex types, arrays, native .net collections, remote references
-
目前有兩個(gè)版本:標(biāo)準(zhǔn)版(免費(fèi)),專業(yè)版(商業(yè)許可)
4.2 Echo 2 (2005年3月)
Echo 2
允許你用純Java語(yǔ)言編寫(xiě)AJAX程序。
Demo
.
-
自動(dòng)生成HTML和Javascript代碼
-
用XML在客戶端-服務(wù)端傳遞消息
-
如果愿意支持自定義Javascript組件
-
開(kāi)源協(xié)議(Mozilla Public License or GNU LGPL)
4.3 Direct Web Remoting (DWR) (2005)
Direct Web Remoting
可以在Javascript代碼中直接調(diào)用Java方法的應(yīng)用框架
-
類似于SAJAX,可以把Javascript中的請(qǐng)求調(diào)用轉(zhuǎn)遞到Java方法中并將執(zhí)行結(jié)果返回給Javascript
-
可以和任何Web框架一起使用,如Struts、Tapestry等等
-
開(kāi)源(Apache),目前該產(chǎn)品被加入到
WebWork
中
4.4 SWATO (2005)
SWATO
是一套可重用的和良好集成的Java/JavaScript庫(kù),它實(shí)現(xiàn)了一種更容易的方式來(lái)改變你的web應(yīng)用程序的交互,通過(guò)AJAX方式實(shí)現(xiàn)。
-
服務(wù)端Java庫(kù)可以非常容易的部署到所有Servlet2.3+兼容的容器中
-
客戶端Javascript庫(kù)可以在所有支持XMLHttpRequest的瀏覽器中使用
-
使用JSON技術(shù)在服務(wù)端組織POJO數(shù)據(jù),這樣你可以在任何Javascript環(huán)境中(HTML、XUL、SVG)訪問(wèn)這些遠(yuǎn)程數(shù)據(jù),這種方式很容易通過(guò)硬編碼或者某種成熟的Javascript庫(kù)集成到當(dāng)前應(yīng)用中
-
提供一個(gè)簡(jiǎn)單接口使你能在Javascript中調(diào)用遠(yuǎn)程的POJO數(shù)據(jù)
-
使用<servlet>和<filter>靈活的在web.xml中進(jìn)行配置,并且可以集成(不是必須)到你的Spring框架中
-
提供了幾個(gè)可幫助你快速開(kāi)發(fā)web應(yīng)用程序的組件(如自動(dòng)完成的文本框,在線表單,在線列表等等)
4.5 AJAX JSP Tag Library
The AJAX JSP Tag Library
是一組JSP標(biāo)簽庫(kù),用來(lái)AJAX程序開(kāi)發(fā)。可以在J2EE下無(wú)需Javascript就能輕松開(kāi)發(fā)AJAX模式的Web Form。標(biāo)簽庫(kù)為比較通用的AJAX功能提供了5個(gè)標(biāo)簽:
-
autocomplete: 用戶在文本框中輸入字符,自動(dòng)從指定的數(shù)據(jù)中匹配用戶輸入的字符,類似于Google Suggest
-
callout:可以為A標(biāo)簽加入氣泡式的消息提示框,不過(guò)是實(shí)時(shí)的服務(wù)端取出數(shù)據(jù)
-
Select/dropdown:類似于聯(lián)動(dòng)菜單,比如地州市的聯(lián)動(dòng)下拉框
-
toggle:開(kāi)關(guān)閘按鈕,比如在一個(gè)hidden表單域中存儲(chǔ)true和falsh,同時(shí)顯示相應(yīng)的img圖像
-
update field:更新數(shù)據(jù),也就是無(wú)刷新提交了。
4.6 AJAX Java Server Faces Framework
The AJAX-JSF
用來(lái)把任意的JSF應(yīng)用程序轉(zhuǎn)變?yōu)锳JAX應(yīng)用程序
-
例子
:AJAX組件的 MyFaces JSF Tree(樹(shù)型目錄), table scroller(可滾動(dòng)的表格), tabbed pane(分頁(yè)欄)
-
開(kāi)源協(xié)議(
Apache Software License
)
Server-Side: Lisp
5.1 CL-Ajax
CL-Ajax
實(shí)現(xiàn)Javascript直接調(diào)用服務(wù)端Lisp
-
生成可帶參數(shù)的函數(shù)
-
可以回調(diào)Javascript函數(shù)或者DOM對(duì)象
-
可以集成到SAJAX中
-
開(kāi)源許可
6 Server-Side: .NET
6.1 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ā)類庫(kù)。提供簡(jiǎn)單的在線式API用來(lái)綁定或者調(diào)用任何.NET對(duì)象、XML Web Services
-
支持異步或同步的事件驅(qū)動(dòng)
-
不需要在服務(wù)端修改任何代碼,不需要自定義方法或?qū)傩浴⒆兞康取2灰笤O(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è)類似于RecordSet的JavaScript對(duì)象來(lái)顯示這個(gè)結(jié)果。該對(duì)象提供檢索列名和行數(shù)據(jù)的方法。
-
支持?jǐn)?shù)據(jù)分頁(yè)技術(shù)。客戶應(yīng)用程序能檢索頁(yè)面中的數(shù)據(jù)。
-
支持以參數(shù)的方式返回所有服務(wù)期端數(shù)據(jù)類型,如primitives, strings, complex types, arrays, native .net collections, remote references
-
目前有兩個(gè)版本:標(biāo)準(zhǔn)版(免費(fèi)),專業(yè)版(商業(yè)許可)
6.2 Ajax.NET (2005年3月)
Ajax.NET
是首家支持各種方式通過(guò)Javascript訪問(wèn)服務(wù)端.net的免費(fèi)庫(kù)
-
類似于SAJAX,能把Javascript請(qǐng)求發(fā)送到.NET方法,服務(wù)端回傳給Javascript,甚至包括串行化自定義類。
-
可以在Javascript中訪問(wèn)Session和Application數(shù)據(jù)
-
緩存查詢結(jié)果
-
免費(fèi)使用源代碼
-
無(wú)需更改源代碼,允許給Ajax.NET添加和修改方法和屬性
-
所有類支持Javascript客戶端返回?cái)?shù)據(jù),可以在JavaScript中使用DataSet:res.Tables[0].Rows
-
使用HtmlControls組件訪問(wèn)和返回?cái)?shù)據(jù)
-
頁(yè)面無(wú)需重載,用事件代理(數(shù)據(jù)訪問(wèn)層)
-
因?yàn)橹惶峁┮粋€(gè)調(diào)用接口方法,所以服務(wù)端CPU占用非常少
6.3 ComfortASP.NET (2005年8月)
ComfortASP.NET
可以讓開(kāi)發(fā)者在純.NET下開(kāi)發(fā)類似AJAX(DHTML,JavaScript,XMLHttp)特性的應(yīng)用程序。
-
快速應(yīng)答
-
減少HTML傳輸
-
減少頁(yè)面重載
-
無(wú)閃爍的瀏覽器內(nèi)容更改
-
AJAX用戶體驗(yàn),
6.4 AjaxAspects (2005年8月)
AjaxAspects
是個(gè)可以用Javascript調(diào)用服務(wù)端WebService事件的引擎
-
用標(biāo)準(zhǔn)的SOAP和WSDL進(jìn)行服務(wù)端-客戶端通信
-
用簡(jiǎn)單的類型和XML對(duì)象支持帶參數(shù)的返回值
-
緩存支持
-
動(dòng)作隊(duì)列
-
免費(fèi)使用,開(kāi)源協(xié)議
7 Server-Side: PHP
7.1 AjaxAC (2005年4月)
AjaxAC
用一個(gè)單獨(dú)類封裝了完整的應(yīng)用程序功能
-
所有的功能集成在自包含的類中(另外附帶一些Javascript庫(kù))
-
調(diào)用PHP文件或者HTML頁(yè)面非常簡(jiǎn)易,只需創(chuàng)建App類后把類引用傳遞給需要調(diào)用的Javascript對(duì)象或者HTML元素即可。
-
捕獲Javascript事件
-
可以自定義配置數(shù)據(jù),并且支持運(yùn)行時(shí)參數(shù)更改
-
無(wú)需再Javascript代碼中夾雜凌亂的Html代碼,所有事件都是被動(dòng)態(tài)附加上的
-
由于以上兩個(gè)優(yōu)點(diǎn),所以支持良好的模版引擎
-
容易Hook到PHP類和MySql數(shù)據(jù)已返回給自己的request
-
能夠容易的用Javascript建立窗口模式應(yīng)用程序。
7.2 JPSpan
JPSPAN
通過(guò)Javascript直接調(diào)用PHP中的函數(shù)。
-
進(jìn)行了嚴(yán)謹(jǐn)?shù)膯卧獪y(cè)試
-
開(kāi)源許可(PHP)
7.3 XAJAX
XAjax
通過(guò)Javascript直接調(diào)用PHP中的函數(shù)
-
支持用Javascript調(diào)用PHP腳本
-
開(kāi)源許可協(xié)議
8 Server-Side: Ruby
8.1 Ruby On Rails
Ruby On Rails
是一個(gè)支持AJAX的完整Web框架,使用Ruby語(yǔ)言編寫(xiě),嚴(yán)格按照MVC結(jié)構(gòu)開(kāi)發(fā)。
-
當(dāng)Ajax出現(xiàn)的時(shí)候Rails還處于其發(fā)展的早期,因此Ajax可能逐漸成為Rails框架的核心。
-
生成瀏覽器中大多數(shù)/全部的Window應(yīng)用組件和動(dòng)畫(huà)的Javascript腳本。
-
支持服務(wù)器端調(diào)用。
-
隊(duì)列支持
-
開(kāi)源許可
posted on 2006-09-11 16:16
OMG 閱讀(237)
評(píng)論(0) 編輯 收藏 所屬分類:
Ajax/RSS/Tag