OMG,到底在尋找什么..................
          (構(gòu)造一個(gè)完美的J2EE系統(tǒng)所需要的完整知識(shí)體系)
          posts - 198,  comments - 37,  trackbacks - 0

          原貼地址: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ù)器消息映射支持

          • 提供創(chuàng)建自定義Javascript窗口組件的框架支持
          • 預(yù)制的豐富的窗口類型庫(kù)
          • B/S消息映射支持——XMLHttpRequest和其他機(jī)制
          • 支持瀏覽器中的URL操縱功能
          • 開(kāi)源許可( Academic Free License 2.1 ),由 JotSpot Alex Russell 所領(lǐng)導(dǎo)。

          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

          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          IT風(fēng)云人物

          文檔

          朋友

          相冊(cè)

          經(jīng)典網(wǎng)站

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 泾源县| 同心县| 阿瓦提县| 黄梅县| 建宁县| 莎车县| 安康市| 古交市| 万州区| 磐安县| 宜兰县| 灵川县| 博野县| 伊川县| 灵寿县| 万源市| 和田市| 赤峰市| 缙云县| 云浮市| 湛江市| 临洮县| 奇台县| 凌源市| 游戏| 屏边| 博客| 出国| 青海省| 宁武县| 都兰县| 马尔康县| 太原市| 巴南区| 苍山县| 甘孜| 平远县| 大港区| 南靖县| 灵寿县| 民县|