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