免费观看在线综合色,91福利精品第一导航,黄页网站在线观看免费http://www.aygfsteel.com/gump/category/5338.html生活就像一盒巧克力,你永遠不知道你會得到什么zh-cnTue, 27 Feb 2007 11:55:36 GMTTue, 27 Feb 2007 11:55:36 GMT60(翻譯)Flex 經(jīng)典例子: 建立Restaurant Finderhttp://www.aygfsteel.com/gump/articles/22859.html甘先生甘先生Wed, 07 Dec 2005 07:02:00 GMThttp://www.aygfsteel.com/gump/articles/22859.htmlhttp://www.aygfsteel.com/gump/comments/22859.htmlhttp://www.aygfsteel.com/gump/articles/22859.html#Feedback0http://www.aygfsteel.com/gump/comments/commentRss/22859.htmlhttp://www.aygfsteel.com/gump/services/trackbacks/22859.html閱讀全文

甘先生 2005-12-07 15:02 發(fā)表評論
]]>
(轉(zhuǎn))Ajax Framework AJAX框架匯總http://www.aygfsteel.com/gump/articles/21905.html甘先生甘先生Wed, 30 Nov 2005 01:44:00 GMThttp://www.aygfsteel.com/gump/articles/21905.htmlhttp://www.aygfsteel.com/gump/comments/21905.htmlhttp://www.aygfsteel.com/gump/articles/21905.html#Feedback0http://www.aygfsteel.com/gump/comments/commentRss/21905.htmlhttp://www.aygfsteel.com/gump/services/trackbacks/21905.html

此文原出于AJAX Patterns網(wǎng)站的一篇《Ajax Frameworks》的wiki文章,很早前我就注意到,后來在國內(nèi)也有人翻譯了,不過最近發(fā)現(xiàn)此wiki還是在不斷添加維護中,截止此文發(fā)布前,作者又添加了好幾個新誕生的AJAX開發(fā)工具,所以我決定重新翻譯一遍,并且時常注意原文發(fā)布狀態(tài),一有新的內(nèi)容立馬也翻譯過來,做到同步:)


此翻譯稿很大一部分內(nèi)容出自國內(nèi)出現(xiàn)的那個先前版本,我只是對新加入的幾項進行了翻譯,并且對我熟悉的產(chǎn)品項著重介紹了一下,以后我會抽時間收集文中提到AJAX工具相關的文章,盡量將內(nèi)容介紹和功能點評做到全面詳細點。所以請關注和準備用AJAX做開發(fā)的朋友關注這篇文章,我會時常更新的。原文因為是由一個wiki系統(tǒng)維護,所以在所難免出現(xiàn)參差不齊,風格上也有不統(tǒng)一的情況,翻譯時我也是參照原文原封不動的挪了過來,以后我會抽時間改良下。

翻譯正文

基于瀏覽器的應用框架一般分為兩種

Aplication frameworks:提供了瀏覽器功能,但其最著名的還是在于通過窗口生成組件建立桌面GUI。

Infrastructural frameworks:提供基本的框架功能和輕便式瀏覽器端操作,讓開發(fā)者去創(chuàng)建具體應用,主要功能包括:

  • 基于XMLHttpRequest組件的瀏覽器交互功能
  • XML解析和操作功能
  • 根據(jù)XMLHttpRequest的返回信息進行相應的DOM操作
  • 一些特殊情況下,和其他的瀏覽器端技術如Flash(或Java Applets)等集合到一起應用

基于服務器端的應用框架通常以下面兩種方式工作(盡管它們根據(jù)不同的語言進行了分類)

  • HTML/JS Generation(HTML/JS生成):通過服務器端生成HTML和JS代碼在傳遞給瀏覽器端進行直接運行
  • 遠程交互:JavaScript調(diào)用服務器端函數(shù)(例如調(diào)用Java函數(shù))并返回給JavaScript的回調(diào)句柄,或者請求服務器端數(shù)據(jù)信息,例如Session信息,數(shù)據(jù)庫查詢等。


目錄

1 Pure Javascript: Application Frameworks

2 Pure Javascript: Infrastructural Frameworks

3 Server-Side: Multi-Language

4 Server-Side: Java

5 Server-Side: Lisp

6 Server-Side: .NET

7 Server-Side: PHP

8 Server-Side: Ruby


1. Pure Javascript: Application Frameworks

Pure Javascript: Application Frameworks

1.1 Bindows (成立于2003年)

Backbase是一個通過DHTML、JavaScript、CSS和HTML等技術強勁聯(lián)合起來的一套完整的Windows桌面式的WEB應用程序解決方案。Bindows無需下載安裝客戶端支撐組件(如Java、ActiveX或Flash),僅需一個瀏覽器。純OO的理念體現(xiàn)在Bindows任何地方,Bindows或許是筆者見過的最完整最強大的AJAX應用程序平臺。


Bindows是商業(yè)程序的,使用了來自于MB的技術(總部位于GA USA,主要開發(fā)中心在瑞典,成立于2002年)。

Bindows框架提供的功能和特性有:

  • 基于面相對象技術的類和API
  • 一套完整的Windows桌面系統(tǒng),支持各種特性窗口模式,包括菜單、表單、表格、滑動條、測量儀器窗口和其他一些Windows窗口特性支持。
  • 是開發(fā)zero-footprint(零空間占用)SOA客戶端應用程序首選工具包
  • 本機的XML,SOAP和XML-RPC支持
  • 單用戶到企業(yè)級開發(fā)的支持
  • 內(nèi)建的完美的AJAX支持

Bindows開發(fā)環(huán)境:

  • 支持企業(yè)級規(guī)模的項目開發(fā)
  • 跨瀏覽器、跨OS平臺的支持
  • 不受服務器結構限制
  • 良好的與新的、現(xiàn)有的資源互操作性
  • 統(tǒng)一的開發(fā)接口

1.2 BackBase (成立于2003年)

BackBase是一個完整的瀏覽器端框架,提供了豐富的瀏覽器操作功能,以及對.NET和JAVA平臺的集成。

商業(yè)化產(chǎn)品,來自于Backbase B.V(總部在Amsterdam,成立于2003年)。

1.3 DOJO (開發(fā)中,成立于2004年9月)

DOJO提供完整的輕量級窗口組件和瀏覽器-服務器消息映射支持

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

1.4 Open Rico (開發(fā)中;成立于2005年5月;基于早期的一個proprietary 框架)

Open Rico是一個支持Ajax架構和用戶交互的多用途框架。

  • 一個XMLHttpRequest response能被一個或多個的DOM對象,或者Javascript對象調(diào)用。
  • 支持拖拽操作
  • 支持基于AJAX的動畫模式,如縮放和變換等
  • 基于Behaviors的操作庫
  • 使用指南,由RussMirimar的Yonah提供
  • 開源。源于Sabre航空公司解決方案,由Bill Scott,Darren James及另外一些人維護。

1.5 qooxdoo (開發(fā)中; 成立于2005年5月)

qooxdoo,是另一個發(fā)展迅猛的應用框架,提供廣泛的UI支持,正在開發(fā)基礎架構等特性。

  • 基礎結構特性:
    • 能輕易的捕獲和操縱DOM事件
    • 支持調(diào)試
    • 支持一個時間操作的Timer類
    • Getter/Setter支持
  • UI:
    • 窗口組件庫和框架
    • 界面布局管理
    • 圖像緩存和透明PNG圖片處理
  • 開源(LGPL).

1.6 Tibet (開發(fā)中; 創(chuàng)建于2005年6月)

Tibet提供了大量的易移植和完整的JavaScript API,通過這些可以快速生成大量的客戶端代碼,Tibet自稱是企業(yè)級AJAX。

  • 遠程腳本調(diào)用封裝在XMLHttpRequest中
  • URI支持
  • 支持所有的HTTP事件,不再僅僅是GET和POST
  • 低級的協(xié)議-File://和WebDav也可以當作HTTP正常使用
  • Web Services調(diào)用支持,包括SOAP、XML-RPC等等
  • 大型的Javascript對象庫
  • 多種多樣的XML操作支持
  • IDE和開發(fā)工具
  • 開源協(xié)議(OSI)

1.7 AJFORM (創(chuàng)建于2005年6月)

AJFORM是一個極易上手的AJAX框架,被用來編寫入門級的AJAX代碼,提供有以下功能:

  • 三步安裝
  • 自動支持任意HTML表單元素
  • 幾乎無需編碼即可實現(xiàn)AJAX

2 Pure Javascript: Infrastructural Frameworks

2.1 AjaxCaller(創(chuàng)建于2005年5月,目前是Alpha版)

AjaxCaller是一個具有多線程安全訪問的XMLHttpRequest組件,主要針對Ajax開發(fā)新手,目前仍處于alpha開發(fā)階段,僅在AjaxPatterns的在線搜索范例中使用了這個程序。
  • 用明文或者XML結構的數(shù)據(jù)實現(xiàn)和服務器的交互(GET/POST/PUT/DELETE)
  • 支持XMLHttRequest對象的構析(銷毀對象,C++支持內(nèi)存對象的構析操作)
  • 支持Response的高速緩存(尚在計劃中)
  • 簡單的庫文件代碼易于新手學習使用,并且支持腳本調(diào)試
  • 開源協(xié)議

2.2 Flash JavaScript Integration Kit

The Flash JavaScript Integration Kit可以使Flash和Javascript腳本實現(xiàn)相互集成。

  • 可以實現(xiàn)在JavaScript中調(diào)用Flash ActionScript腳本,反之亦然。
  • 幾乎支持雙方主要數(shù)據(jù)類型的在不同環(huán)境中的傳遞調(diào)用。
  • 開源協(xié)議,有幾個Flash開源愛好者維護。

2.3 Google AJAXSLT (2005年6月發(fā)行)

Google AJAXSLT,是一個Javascript框架,用來執(zhí)行XSLT轉(zhuǎn)換以及XPath查詢。

  • 目前在Google Map上就使用了這個。
  • 開源協(xié)議(BSD)

2.4 HTMLHttpRequest(Beta版;創(chuàng)建于2005年)

HtmlHttpRequest最大的特點就是運用XMLHttpRequest對象和標準HTML標簽IFrame來實現(xiàn)最大限度的跨瀏覽跨平臺的AJAX支持,其原理是在支持XMLHttpRequest的瀏覽器上調(diào)用XMLHttp,如果不支持,就用IFrame來模擬實現(xiàn)異步交互。

  • 目前支持的瀏覽器: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。
  • 開源協(xié)議(LGPL)

2.5 Interactive Website Framework (創(chuàng)建于2005年)

Interactive Website Framework定位在瀏覽器中支持各種各樣的AJAX基礎應用的開源項目。自稱是通過JavaScript、CSS、XML和HTML實現(xiàn)高性能的交互式WEB框架,包括一個可定制易讀的XML解析器。實際上,IWF是一個AJAX的基礎框架,并且還包括一些通用腳本代碼。

  • 實現(xiàn)了線程安全的XMLHttpRequest
  • 對XML Document進行封裝,以便創(chuàng)建更具有可讀性的代碼:
    var node = doc.groceries.frozen[0].pizza[0].size;
    封裝后的數(shù)據(jù)讀取
    var node = doc.documentElement.firstChild.firstChild.getAttribute("size");
    原始的DOM操作讀取
  • 開源協(xié)議

2.6 LibXMLHttpRequest (2003年6月發(fā)布)

libXmlRequest是一個小型XMLHttpRequest封裝包

  • 用getXML()和postXML()兩個事件簡化XMLHttpReuqest調(diào)用
  • 支持XMLHttpRequest對象池
  • Response緩存處理
  • 源碼可以使用,但是有版權保護。

2.7 MAJAX

MAJAX是另一個非常小巧的HttpRequest封裝包,為收發(fā)字符型信息提供簡單接口,并為每步動作設置回調(diào)界面。

2.8 RSLite (x)

RSLite是一個XMLHttpRequest封裝組件,作為Brent Ashley的JSRS(JavaScript Remote Scripting)其中的一部分功能單獨發(fā)布。詳情可以看JSRS的介紹

2.9 Sack(開發(fā)中,成立于2005年5月)

Sack也是一個很有名字的微型XMLHttpRequest封裝包。調(diào)用者可以自定義回調(diào)函數(shù)或者是DOM對象。借助于回調(diào)DOM對象,可以把Response回來的數(shù)據(jù)直接以文本的方式嵌入DOM中。

2.10 Sarissa (發(fā)布于2003年2月)

Sarissa是一個JavaScript API,封裝了在瀏覽器端獨立調(diào)用XML的功能。

  • 可移植的XMLHttpRequest對象創(chuàng)造
  • 可移植的XPath查詢
  • 可移植的DOM操控
  • 可移植的XSLT
  • 可移植的XML序列化
  • 開源協(xié)議(GPL2.0和LGPL2.1)

2.11 XHConn (2005年4月發(fā)布)

XHConn也是一個小型的XMLHttpRequest封裝庫。筆者也使用改良過的XHConn,其特點就是調(diào)用簡單,代碼也清晰易讀。

  • 例子:
    new XHConn().connect("mypage.php","POST","foo=bar&baz=qux",fnWhenDone);
  • 開源協(xié)議許可

3 Server-Side: Multi-Language

3.1 Cross-Platform Asynchronous INterface Toolkit (2005年5月)

CPAINT是一個真正的同時支持PHP和ASP/VBScript腳本的AJAX和JSRS工具包。CPAINT在后臺提供你需求的AJAX和JSRS代碼,并自動返回到瀏覽器端相應的Javascript腳本代碼,這種方式易于實時反饋需求的WEB應用程序。

  • 支持PHP和ASP
  • 所有功能函數(shù)都在統(tǒng)一的JavaScript文件中
  • 支持遠程腳本和XML
  • 支持本地和遠程函數(shù)調(diào)用
  • 可以創(chuàng)建單個或多個XMLHttp對象
  • 返回給后臺的數(shù)據(jù)即可以是文本也可以是XML/DOM文檔對象
  • 支持POST和GET
  • 用服務端代理的方式實現(xiàn)遠程函數(shù)和數(shù)據(jù)的訪問操作
  • 大部分瀏覽器中測試正常使用
  • 在GNU、GPL、LGPL開源協(xié)議保護下發(fā)行

3.2 SAJAX (2005年3月)

SAJAX的實現(xiàn)方式很獨特,例如:調(diào)用一個javascript方法x_calculateBudget(),將先把響應傳到服務器并調(diào)用一個Java calculateBudget()方法,然后以javascript方式把值返回到x_calculateBudget_cb()中。SAJAX的名氣不錯,估計很多人都聽過甚至用過,不過缺點就是它的這套映射理論感覺較繁鎖,遠不如一些輕量級的封裝庫好用,不過SAJAX最大的特點就是支持的平臺豐富,幾乎囊括了WEB下常用的編程語言和平臺

  • 很方便從JavaScript函數(shù)映射到服務端代理操作
  • 支持多種平臺(ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby)
  • 開源協(xié)議

3.3 Javascipt Object Notation (JSON) and JSON-RPC

XML,而JSON-RPC是一種遠程交互協(xié)議,類似于XML-RPC,對JavaScript支持較強

3.4 JavaScript Remote Scripting(JSRS)(2000年)

JSRS,較經(jīng)典的遠程腳本訪問組件,支持將客戶端數(shù)據(jù)通過服務器做代理進行遠程的數(shù)據(jù)/操作交互。

  • 支持的瀏覽器:IE4+,NS4.x,NS6.x,Mozilla,Opera7和Galeon。
  • 服務器端腳本語言支持:ASP,ColdFusion,PerlCGI,PHP,Python和JSP(servlet)。
  • 開源協(xié)議。由Brent Ashley提供支持。

3.5 Bitkraft for ASP.NET

Bitkraft是個基于(.NET)Web框架的CLR(公共語言運行庫),允許用獨特的方式創(chuàng)建和操作分布式Web內(nèi)容。用C#編寫,運行在微軟的.NET 1.1和Mono框架下,無縫式的客戶端-服務器響應方式是它的最大特點。Bitkraft沒有使用XML組織數(shù)據(jù),而是用JSON代替。

  • 支持的瀏覽器: IE5+, Firefox1+, NS6
  • 服務器端要求:ASP.NET, Mono XSP, Cassini, Apache (modMono) .NET Framework 1.1+
  • 事件驅(qū)動
  • 支持同步和異步的遠程代理
  • 客戶端支持所有的.NET類型或自定義類對象映射到JSON中
  • 用JSON取代XML
  • 免費,開源許可協(xié)議

4 Server-Side: Java

4.1 WebORB for Java (2005年8月)

WebORB for Java是一個開發(fā)AJAX和基于Flash的富客戶端應用程序的開發(fā)平臺。在線例子

  • WebORB包括一個富客戶端開發(fā)類庫。提供簡單的在線式API用來綁定或者調(diào)用任何Java對象、XML Web Services和EJB
  • 支持異步或同步的事件驅(qū)動
  • 不需要在服務端修改任何代碼,不需要自定義方法或?qū)傩浴⒆兞康取2灰笤O計時指定代理等。
  • 同步調(diào)用不需要回調(diào),異步調(diào)用需要一個回調(diào)方法。
  • 客戶端可以向服務端請求指定的活動方式,不需要任何編程就可以把處理結果輕易的轉(zhuǎn)變?yōu)闋顟B(tài)。
  • 提供一個特定API來處理數(shù)據(jù)庫查詢結果-服務器代碼能返回DataSet或者DataTable,而客戶端以一個類似于RecordSet的JavaScript對象來顯示這個結果。該對象提供檢索列名和行數(shù)據(jù)的方法。
  • 支持數(shù)據(jù)分頁技術。客戶應用程序能檢索頁面中的數(shù)據(jù)。
  • 支持以參數(shù)的方式返回所有服務期端數(shù)據(jù)類型,如primitives, strings, complex types, arrays, native .net collections, remote references
  • 目前有兩個版本:標準版(免費),專業(yè)版(商業(yè)許可)

4.2 Echo 2 (2005年3月)

Echo 2允許你用純Java語言編寫AJAX程序。 Demo.

  • 自動生成HTML和Javascript代碼
  • 用XML在客戶端-服務端傳遞消息
  • 如果愿意支持自定義Javascript組件
  • 開源協(xié)議(Mozilla Public License or GNU LGPL)

4.3 Direct Web Remoting (DWR) (2005)

Direct Web Remoting可以在Javascript代碼中直接調(diào)用Java方法的應用框架

  • 類似于SAJAX,可以把Javascript中的請求調(diào)用轉(zhuǎn)遞到Java方法中并將執(zhí)行結果返回給Javascript
  • 可以和任何Web框架一起使用,如Struts、Tapestry等等
  • 開源(Apache),目前該產(chǎn)品被加入到WebWork

4.4 SWATO (2005)

SWATO是一套可重用的和良好集成的Java/JavaScript庫,它實現(xiàn)了一種更容易的方式來改變你的web應用程序的交互,通過AJAX方式實現(xiàn)。

  • 服務端Java庫可以非常容易的部署到所有Servlet2.3+兼容的容器中
  • 客戶端Javascript庫可以在所有支持XMLHttpRequest的瀏覽器中使用
  • 使用JSON技術在服務端組織POJO數(shù)據(jù),這樣你可以在任何Javascript環(huán)境中(HTML、XUL、SVG)訪問這些遠程數(shù)據(jù),這種方式很容易通過硬編碼或者某種成熟的Javascript庫集成到當前應用中
  • 提供一個簡單接口使你能在Javascript中調(diào)用遠程的POJO數(shù)據(jù)
  • 使用<servlet>和<filter>靈活的在web.xml中進行配置,并且可以集成(不是必須)到你的Spring框架中
  • 提供了幾個可幫助你快速開發(fā)web應用程序的組件(如自動完成的文本框,在線表單,在線列表等等)

4.5 AJAX JSP Tag Library

The AJAX JSP Tag Library是一組JSP標簽庫,用來AJAX程序開發(fā)。可以在J2EE下無需Javascript就能輕松開發(fā)AJAX模式的Web Form。標簽庫為比較通用的AJAX功能提供了5個標簽:

  • autocomplete: 用戶在文本框中輸入字符,自動從指定的數(shù)據(jù)中匹配用戶輸入的字符,類似于Google Suggest
  • callout:可以為A標簽加入氣泡式的消息提示框,不過是實時的服務端取出數(shù)據(jù)
  • Select/dropdown:類似于聯(lián)動菜單,比如地州市的聯(lián)動下拉框
  • toggle:開關閘按鈕,比如在一個hidden表單域中存儲true和falsh,同時顯示相應的img圖像
  • update field:更新數(shù)據(jù),也就是無刷新提交了。

4.6 AJAX Java Server Faces Framework

The AJAX-JSF用來把任意的JSF應用程序轉(zhuǎn)變?yōu)锳JAX應用程序

  • 例子:AJAX組件的 MyFaces JSF Tree(樹型目錄), table scroller(可滾動的表格), tabbed pane(分頁欄)
  • 開源協(xié)議(Apache Software License)

Server-Side: Lisp

5.1 CL-Ajax

CL-Ajax實現(xiàn)Javascript直接調(diào)用服務端Lisp

  • 生成可帶參數(shù)的函數(shù)
  • 可以回調(diào)Javascript函數(shù)或者DOM對象
  • 可以集成到SAJAX中
  • 開源許可

6 Server-Side: .NET

6.1 WebORB for .NET (2005年8月)

WebORB for .NET是一個用.NET和XML Web Services方式開發(fā)AJAX和基于Flash的富客戶端應用程序(在線例子)

  • WebORB包括一個富客戶端開發(fā)類庫。提供簡單的在線式API用來綁定或者調(diào)用任何.NET對象、XML Web Services
  • 支持異步或同步的事件驅(qū)動
  • 不需要在服務端修改任何代碼,不需要自定義方法或?qū)傩浴⒆兞康取2灰笤O計時指定代理等。
  • 同步調(diào)用不需要回調(diào),異步調(diào)用需要一個回調(diào)方法。
  • 客戶端可以向服務端請求指定的活動方式,不需要任何編程就可以把處理結果輕易的轉(zhuǎn)變?yōu)闋顟B(tài)。
  • 提供一個特定API來處理數(shù)據(jù)庫查詢結果-服務器代碼能返回DataSet或者DataTable,而客戶端以一個類似于RecordSet的JavaScript對象來顯示這個結果。該對象提供檢索列名和行數(shù)據(jù)的方法。
  • 支持數(shù)據(jù)分頁技術。客戶應用程序能檢索頁面中的數(shù)據(jù)。
  • 支持以參數(shù)的方式返回所有服務期端數(shù)據(jù)類型,如primitives, strings, complex types, arrays, native .net collections, remote references
  • 目前有兩個版本:標準版(免費),專業(yè)版(商業(yè)許可)

6.2 Ajax.NET (2005年3月)

Ajax.NET是首家支持各種方式通過Javascript訪問服務端.net的免費庫

  • 類似于SAJAX,能把Javascript請求發(fā)送到.NET方法,服務端回傳給Javascript,甚至包括串行化自定義類。
  • 可以在Javascript中訪問Session和Application數(shù)據(jù)
  • 緩存查詢結果
  • 免費使用源代碼
  • 無需更改源代碼,允許給Ajax.NET添加和修改方法和屬性
  • 所有類支持Javascript客戶端返回數(shù)據(jù),可以在JavaScript中使用DataSet:res.Tables[0].Rows
  • 使用HtmlControls組件訪問和返回數(shù)據(jù)
  • 頁面無需重載,用事件代理(數(shù)據(jù)訪問層)
  • 因為只提供一個調(diào)用接口方法,所以服務端CPU占用非常少

6.3 ComfortASP.NET (2005年8月)

ComfortASP.NET可以讓開發(fā)者在純.NET下開發(fā)類似AJAX(DHTML,JavaScript,XMLHttp)特性的應用程序。

  • 快速應答
  • 減少HTML傳輸
  • 減少頁面重載
  • 無閃爍的瀏覽器內(nèi)容更改
  • AJAX用戶體驗,

6.4 AjaxAspects (2005年8月)

AjaxAspects是個可以用Javascript調(diào)用服務端WebService事件的引擎

  • 用標準的SOAP和WSDL進行服務端-客戶端通信
  • 用簡單的類型和XML對象支持帶參數(shù)的返回值
  • 緩存支持
  • 動作隊列
  • 免費使用,開源協(xié)議

7 Server-Side: PHP

7.1 AjaxAC (2005年4月)

AjaxAC用一個單獨類封裝了完整的應用程序功能

  • 所有的功能集成在自包含的類中(另外附帶一些Javascript庫)
  • 調(diào)用PHP文件或者HTML頁面非常簡易,只需創(chuàng)建App類后把類引用傳遞給需要調(diào)用的Javascript對象或者HTML元素即可。
  • 捕獲Javascript事件
  • 可以自定義配置數(shù)據(jù),并且支持運行時參數(shù)更改
  • 無需再Javascript代碼中夾雜凌亂的Html代碼,所有事件都是被動態(tài)附加上的
  • 由于以上兩個優(yōu)點,所以支持良好的模版引擎
  • 容易Hook到PHP類和MySql數(shù)據(jù)已返回給自己的request
  • 能夠容易的用Javascript建立窗口模式應用程序。

7.2 JPSpan

JPSPAN通過Javascript直接調(diào)用PHP中的函數(shù)。

  • 進行了嚴謹?shù)膯卧獪y試
  • 開源許可(PHP)

7.3 XAJAX

XAjax通過Javascript直接調(diào)用PHP中的函數(shù)

  • 支持用Javascript調(diào)用PHP腳本
  • 開源許可協(xié)議

8 Server-Side: Ruby

8.1 Ruby On Rails

Ruby On Rails是一個支持AJAX的完整Web框架,使用Ruby語言編寫,嚴格按照MVC結構開發(fā)。

  • 當Ajax出現(xiàn)的時候Rails還處于其發(fā)展的早期,因此Ajax可能逐漸成為Rails框架的核心。
  • 生成瀏覽器中大多數(shù)/全部的Window應用組件和動畫的Javascript腳本。
  • 支持服務器端調(diào)用。
  • 隊列支持
  • 開源許可


甘先生 2005-11-30 09:44 發(fā)表評論
]]>
一個Laszlo-Jspl簡單結合例子(Laszlo經(jīng)過jsp讀取數(shù)據(jù)庫數(shù)據(jù)) http://www.aygfsteel.com/gump/articles/21610.html甘先生甘先生Mon, 28 Nov 2005 01:59:00 GMThttp://www.aygfsteel.com/gump/articles/21610.htmlhttp://www.aygfsteel.com/gump/comments/21610.htmlhttp://www.aygfsteel.com/gump/articles/21610.html#Feedback2http://www.aygfsteel.com/gump/comments/commentRss/21610.htmlhttp://www.aygfsteel.com/gump/services/trackbacks/21610.html  數(shù)據(jù)庫表:tblMobile.sql
建立一個簡單的測試表。
create table tblMobile (id int, name varchar(20), price decimal(10,2), image varchar(50), categoryid varchar(20)) ;
insert into tblMobile(1,'hello',200,'1.jpg','moto');



這里利用一個jsp文件生成xml文件。
phonelist.jsp



<?xml version="1.0" encoding="utf-8"?> 
<%@ page contentType="text/html;charset=utf-8"%> 
<%@ page import="java.sql.*"%> 
<phonelist> 
<% 
    String sql 
= ""
    String url 
= ""
 
    String categoryID 
= request.getParameter("categoryID"); 
     
    
try 


        Class.forName(
"org.hsqldb.jdbcDriver").newInstance();
        String URL
="jdbc:hsqldb:hsql://localhost/xdb";
        String user
="sa";
        String password
="";
        Connection conn 
= DriverManager.getConnection(URL,user,password);

        
        Statement stmt 
= conn.createStatement(); 
 
         
        String strOut 
= new String(categoryID.getBytes("ISO8859-1"), "GBK");  
 
        System.out.println(
"categoryID="+categoryID); 
        System.out.println(
"categoryID="+strOut); 
 
        sql 
= "select id, name, price, image from tblMobile where categoryid='" + strOut + "'"
        ResultSet rs 
= stmt.executeQuery(sql); 
 
        
while (rs.next())
            out.println(
"<phone id=\"" + rs.getString(1) + "\">"); 
            out.println(
"<id>" + rs.getString(1+ "</id>"); 
            out.println(
"<name>" + rs.getString(2+ "</name>"); 
            out.println(
"<price>" + rs.getString(3+ "</price>"); 
            out.println(
"<image>" + rs.getString(4+ "</image>"); 
            out.println(
"</phone>"); 
        }
 
 
        rs.close(); 
        stmt.close(); 
        conn.close(); 
 
    }
 catch (Exception e) 
        out.println(e); 
    }
 
%> 
</phonelist> 


test.lzx

<canvas height="100" width="500" >
  
<dataset name="myData" autorequest="true" type="http" src="phonelist.jsp?categoryID=moto"/>

  
<simplelayout axis="y"/>

    
<view datapath="myData:/phonelist/phone">
        
<simplelayout axis="x"/>
      
<text datapath="image/text()" /> 
      
<text datapath="name/text()" />
    
</view>

</canvas>





甘先生 2005-11-28 09:59 發(fā)表評論
]]>
主站蜘蛛池模板: 盐边县| 瑞安市| 娱乐| 丹阳市| 靖西县| 印江| 仁寿县| 汝南县| 容城县| 崇州市| 红原县| 永昌县| 宁安市| 仙居县| 嘉兴市| 隆安县| 江油市| 温宿县| 玛曲县| 綦江县| 沁源县| 玉龙| 澄江县| 从江县| 芦山县| 大悟县| 大洼县| 博乐市| 兴山县| 苍梧县| 无极县| 紫金县| 阿拉善左旗| 南丰县| 丹凤县| 林口县| 于都县| 柳江县| 周至县| 宁都县| 化州市|