<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    原貼地址:http://www.duduwolf.com/post/AJAX_Frameworks.asp#3.4

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

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


    翻譯正文

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

    • Aplication frameworks:提供了瀏覽器功能,但其最著名的還是在于通過窗口生成組件建立桌面GUI。
    • Infrastructural frameworks:提供基本的框架功能和輕便式瀏覽器端操作,讓開發者去創建具體應用,主要功能包括:
      • 基于XMLHttpRequest組件的瀏覽器交互功能
      • XML解析和操作功能
      • 根據XMLHttpRequest的返回信息進行相應的DOM操作
      • 一些特殊情況下,和其他的瀏覽器端技術如Flash(或Java Applets)等集合到一起應用
    基于服務器端的應用框架通常以下面兩種方式工作(盡管它們根據不同的語言進行了分類)
    • HTML/JS Generation(HTML/JS生成):通過服務器端生成HTML和JS代碼在傳遞給瀏覽器端進行直接運行
    • 遠程交互:JavaScript調用服務器端函數(例如調用Java函數)并返回給JavaScript的回調句柄,或者請求服務器端數據信息,例如Session信息,數據庫查詢等。

    ---------------------------------------------------------------

    1. Pure Javascript: Application Frameworks

    1.1 Bindows (成立于2003年)

    Backbase 是一個通過DHTML、JavaScript、CSS和HTML等技術強勁聯合起來的一套完整的Windows桌面式的WEB應用程序解決方案。Bindows無需下載安裝客戶端支撐組件(如Java、ActiveX或Flash),僅需一個瀏覽器。純OO的理念體現在Bindows任何地方,Bindows或許是筆者見過的最完整最強大的AJAX應用程序平臺。
    Bindows是商業程序的,使用了來自于MB的技術(總部位于GA USA,主要開發中心在瑞典,成立于2002年)。

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

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

    Bindows開發環境:

    • 支持企業級規模的項目開發
    • 跨瀏覽器、跨OS平臺的支持
    • 不受服務器結構限制
    • 良好的與新的、現有的資源互操作性
    • 統一的開發接口

    1.2 BackBase (成立于2003年)

    BackBase 是一個完整的瀏覽器端框架,提供了豐富的瀏覽器操作功能,以及對.NET和JAVA平臺的集成。
    商業化產品,來自于Backbase B.V(總部在Amsterdam,成立于2003年)。

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

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

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

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

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

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

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

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

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

    1.6 Tibet (開發中; 創建于2005年6月)

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

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

    1.7 AJFORM (創建于2005年6月)

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

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

    2 Pure Javascript: Infrastructural Frameworks

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

    AjaxCaller 是一個具有多線程安全訪問的XMLHttpRequest組件,主要針對Ajax開發新手,目前仍處于alpha開發階段,僅在 AjaxPatterns 的在線搜索范例中使用了這個程序。

    • 用明文或者XML結構的數據實現和服務器的交互(GET/POST/PUT/DELETE)
    • 支持XMLHttRequest對象的構析(銷毀對象,C++支持內存對象的構析操作)
    • 支持Response的高速緩存(尚在計劃中)
    • 簡單的庫文件代碼易于新手學習使用,并且支持腳本調試
    • 開源協議

    2.2 Flash JavaScript Integration Kit

    The Flash JavaScript Integration Kit 可以使Flash和Javascript腳本實現相互集成。

    • 可以實現在JavaScript中調用Flash ActionScript腳本,反之亦然。
    • 幾乎支持雙方主要數據類型的在不同環境中的傳遞調用。
    • 開源協議,有幾個Flash開源愛好者維護。

    2.3 Google AJAXSLT (2005年6月發行)

    Google AJAXSLT ,是一個Javascript框架,用來執行XSLT轉換以及XPath查詢。

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

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

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

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

    2.5 Interactive Website Framework (創建于2005年)

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

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

    2.6 LibXMLHttpRequest (2003年6月發布)

    libXmlRequest 是一個小型XMLHttpRequest封裝包

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

    2.7 MAJAX

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

    2.8 RSLite (x)

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

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

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

    2.10 Sarissa (發布于2003年2月)

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

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

    2.11 XHConn (2005年4月發布)

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

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

    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
    • 所有功能函數都在統一的JavaScript文件中
    • 支持遠程腳本和XML
    • 支持本地和遠程函數調用
    • 可以創建單個或多個XMLHttp對象
    • 返回給后臺的數據即可以是文本也可以是XML/DOM文檔對象
    • 支持POST和GET
    • 用服務端代理的方式實現遠程函數和數據的訪問操作
    • 大部分瀏覽器中測試正常使用
    • 在GNU、GPL、LGPL開源協議保護下發行

    3.2 SAJAX (2005年3月)

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

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

    3.3 Javascipt Object Notation (JSON) and JSON-RPC

    JSON 是一個"face-free" XML,而 JSON-RPC 是一種遠程交互協議,類似于XML-RPC,對JavaScript支持較強

    3.4 JavaScript Remote Scripting(JSRS)(2000年)

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

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

    3.5 Bitkraft for ASP.NET

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

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

    4 Server-Side: Java

    4.1 WebORB for Java (2005年8月)

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

    • WebORB包括一個富客戶端開發類庫。提供簡單的在線式API用來綁定或者調用任何Java對象、XML Web Services和EJB
    • 支持異步或同步的事件驅動
    • 不需要在服務端修改任何代碼,不需要自定義方法或屬性、變量等。不要求設計時指定代理等。
    • 同步調用不需要回調,異步調用需要一個回調方法。
    • 客戶端可以向服務端請求指定的活動方式,不需要任何編程就可以把處理結果輕易的轉變為狀態。
    • 提供一個特定API來處理數據庫查詢結果-服務器代碼能返回DataSet或者DataTable,而客戶端以一個類似于RecordSet的JavaScript對象來顯示這個結果。該對象提供檢索列名和行數據的方法。
    • 支持數據分頁技術。客戶應用程序能檢索頁面中的數據。
    • 支持以參數的方式返回所有服務期端數據類型,如primitives, strings, complex types, arrays, native .net collections, remote references
    • 目前有兩個版本:標準版(免費),專業版(商業許可)

    4.2 Echo 2 (2005年3月)

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

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

    4.3 Direct Web Remoting (DWR) (2005)

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

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

    4.4 SWATO (2005)

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

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

    4.5 AJAX JSP Tag Library

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

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

    4.6 AJAX Java Server Faces Framework

    The AJAX-JSF 用來把任意的JSF應用程序轉變為AJAX應用程序

    Server-Side: Lisp

    5.1 CL-Ajax

    CL-Ajax 實現Javascript直接調用服務端Lisp

    • 生成可帶參數的函數
    • 可以回調Javascript函數或者DOM對象
    • 可以集成到SAJAX中
    • 開源許可

    6 Server-Side: .NET

    6.1 WebORB for .NET (2005年8月)

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

    • WebORB包括一個富客戶端開發類庫。提供簡單的在線式API用來綁定或者調用任何.NET對象、XML Web Services
    • 支持異步或同步的事件驅動
    • 不需要在服務端修改任何代碼,不需要自定義方法或屬性、變量等。不要求設計時指定代理等。
    • 同步調用不需要回調,異步調用需要一個回調方法。
    • 客戶端可以向服務端請求指定的活動方式,不需要任何編程就可以把處理結果輕易的轉變為狀態。
    • 提供一個特定API來處理數據庫查詢結果-服務器代碼能返回DataSet或者DataTable,而客戶端以一個類似于RecordSet的JavaScript對象來顯示這個結果。該對象提供檢索列名和行數據的方法。
    • 支持數據分頁技術。客戶應用程序能檢索頁面中的數據。
    • 支持以參數的方式返回所有服務期端數據類型,如primitives, strings, complex types, arrays, native .net collections, remote references
    • 目前有兩個版本:標準版(免費),專業版(商業許可)

    6.2 Ajax.NET (2005年3月)

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

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

    6.3 ComfortASP.NET (2005年8月)

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

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

    6.4 AjaxAspects (2005年8月)

    AjaxAspects 是個可以用Javascript調用服務端WebService事件的引擎

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

    7 Server-Side: PHP

    7.1 AjaxAC (2005年4月)

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

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

    7.2 JPSpan

    JPSPAN 通過Javascript直接調用PHP中的函數。

    • 進行了嚴謹的單元測試
    • 開源許可(PHP)

    7.3 XAJAX

    XAjax 通過Javascript直接調用PHP中的函數

    • 支持用Javascript調用PHP腳本
    • 開源許可協議

    8 Server-Side: Ruby

    8.1 Ruby On Rails

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

    • 當Ajax出現的時候Rails還處于其發展的早期,因此Ajax可能逐漸成為Rails框架的核心。
    • 生成瀏覽器中大多數/全部的Window應用組件和動畫的Javascript腳本。
    • 支持服務器端調用。
    • 隊列支持
    • 開源許可
    posted on 2006-09-11 16:16 OMG 閱讀(235) 評論(0)  編輯  收藏 所屬分類: Ajax/RSS/Tag

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

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    IT風云人物

    文檔

    朋友

    相冊

    經典網站

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av综合avav中文| 亚洲jjzzjjzz在线观看| 9420免费高清在线视频| 国产亚洲玖玖玖在线观看| 全亚洲最新黄色特级网站 | 美国毛片亚洲社区在线观看| 亚洲无码黄色网址| 噼里啪啦免费观看高清动漫4| 免费无码AV一区二区| 久久国产亚洲高清观看| 国产一区二区免费在线| 四虎国产精品永久免费网址| 亚洲а∨精品天堂在线| 亚洲国产精品一区| 亚洲AV无码一区二三区 | 免费人成在线观看网站| 亚洲乱码国产乱码精华| 无码专区—VA亚洲V天堂| 国产成人免费片在线观看 | 亚洲AV无码一区二区乱孑伦AS| 成人免费午间影院在线观看| 免费精品一区二区三区第35| 亚洲中文字幕AV每天更新| 久久亚洲免费视频| 亚洲高清视频一视频二视频三| 免费A级毛片无码A∨中文字幕下载| 99亚洲乱人伦aⅴ精品| 亚洲天堂福利视频| 国产亚洲综合成人91精品| 国产乱人免费视频| 一二三四视频在线观看中文版免费| a级毛片黄免费a级毛片| 香蕉视频免费在线| 亚洲日韩精品无码专区加勒比 | 色一情一乱一伦一视频免费看| 亚洲人成777在线播放| 亚洲AV无码第一区二区三区| 亚洲一区二区三区在线播放| 成人爱做日本视频免费| 国产成人免费高清激情视频| 91久久成人免费|