
build網(wǎng)站制作 |
build網(wǎng)站制作當前位置:首頁>主要服務>網(wǎng)站制作Ajax框架編輯本段Ajax框架介紹Ajax(Asynchronous JavaScript And Xml)并不是一種新技術,而是整合了JavaScript、Xml、CSS等已有技術。雖然大部分開發(fā)人員在過去使用過XMLHttp或者使用Iframe來加載數(shù)據(jù),但僅到現(xiàn)在我們才看到傳統(tǒng)的開發(fā)人員和公司開始采用這些技術。就像新的編程語言或模型伴隨著更多的痛苦,開發(fā)人員需要學習新的技巧及如何最好利用這些新技術。 AJAX模式 許多重要的技術和AJAX開發(fā)模式可以從現(xiàn)有的知識中獲取。例如,在一個發(fā)送請求到服務端的應用中,必須包含請求順序、優(yōu)先級、超時響應、錯誤處理及回調(diào),其中許多元素已經(jīng)在Web服務中包含了,就像現(xiàn)在的SOA。AJAX開發(fā)人員擁有一個完整的系統(tǒng)架構知識。同時,隨著技術的成熟還會有許多地方需要改進,特別是UI部分的易用性。 AJAX開發(fā)與傳統(tǒng)的CS開發(fā)有很大的不同。這些不同引入了新的編程問題,最大的問題在于易用性。由于AJAX依賴瀏覽器的JavaScript和XML,瀏覽器的兼容性和支持的標準也變得和JavaScript的運行時性能一樣重要了。這些問題中的大部分來源于瀏覽器、服務器和技術的組合,因此必須理解如何才能最好的使用這些技術。 綜合各種變化的技術和強耦合的客戶服務端環(huán)境,AJAX提出了一種新的開發(fā)方式。AJAX開發(fā)人員必須理解傳統(tǒng)的MVC架構,這限制了應用層次之間的邊界。同時,開發(fā)人員還需要考慮CS環(huán)境的外部和使用AJAX技術來重定型MVC邊界。最重要的是,AJAX開發(fā)人員必須禁止以頁面集合的方式來考慮Web應用而需要將其認為是單個頁面。一旦UI設計與服務架構之間的范圍被嚴格區(qū)分開來后,開發(fā)人員就需要更新和變化的技術集合了。編輯本段瀏覽器端框架DojoDojo是最老的框架之一,于2004年9月開始開發(fā)。這個項目的目標是建立充分利用XHR的DHTML工具包,并把重心放在可用性問題上。Dojo只有幾個文件,不用處理XHR的建立,只需調(diào)用bind方法,并傳入想調(diào)用的URL和回調(diào)方法即可。就這么簡單。還可以使用bind方法來提交整個表單。 Dojo有一個特性使它獨樹一幟,這就是它支持向后和向前按鈕。盡管這個特性不一定在每個瀏覽器上都能用(遺憾的是,Safari就是一個異類),但你確實可以注冊一個回調(diào)方法,在用戶點擊了向后按鈕或向前按鈕時觸發(fā)這個方法。Dojo還提供了changeURL標記,力圖解決使用Ajax所固有的書簽問題。 Dojo看上去是相對成熟的工具包之一,它把重點放在可用性上,這一點很不錯。Dojo表現(xiàn)得相當穩(wěn)定,在它身后還有一些支撐力量。Dojo的郵件列表相當活躍,多看一些文檔可能更有幫助。 TIBET 你覺得Ajax最早是什么時候出現(xiàn)的?根據(jù)對此的解釋,也許會認為TIBET可能是現(xiàn)存最老的框架。根據(jù)文檔所述,TIBET小組從1997年就開始開發(fā)這個工具包,他們的目標是提供企業(yè)級Ajax支持。TIBET看上去不只是包裝了XMLHttpRequest對象,它還對Web服務和底層協(xié)議提供了支持,并且提供了Google、Amazon和許多其他常用服務的預置包裝器。 真正讓TIBET卓而不群的是,它有一個完全交互式的基于瀏覽器的IDE,這能大大簡化開發(fā)、調(diào)試和單元測試。Flash/JavaScript集成包在Ajax之前,F(xiàn)lash很是風行,很多Web網(wǎng)站都建立在Flash平臺上。那些曾對Flash狠下一番功夫的人不想完全放棄Flash,利用這個開源項目就能同時利用Ajax技術。這個工具包在所有主要瀏覽器上都能用,使得JavaScript能夠調(diào)用ActionScript,ActionScript也能調(diào)用JavaScript??梢詠砘貍鬟f大量對象,包括日期、串和數(shù)組。 Flash/JavaScript集成包的安裝涉及一些JavaScript文件,以及兩個用于Flash的庫函數(shù)。從頁面上調(diào)用ActionScript函數(shù)只需幾行代碼而已。有關的文檔相當少,不過,如果你想使用Ajax訪問Flash,這個工具包就很值得研究。Google AJAXSLT基于Google Maps的工作,Google AJAXSLT是使用XPath的XSL轉換(XSLT)的JavaScript實現(xiàn)。XSLT可以把XML文檔轉換為其他語言,如HTML。AJAXSLT允許使用JavaScript在瀏覽器上直接完成這些轉換。 Google AJAXSLT在所有主要瀏覽器上都能工作,它是在BSD許可證下發(fā)布的。這個工具包很小,包括幾個JavaScript文件,還有一些方便的測試頁。Google AJAXSLT不是十全十美的,不過,如果Google Suggest有所提示,我們希望Google AJAXSLT的缺點能很快解決。因為Google是最先使用Ajax的網(wǎng)站之一,我們會很有興致地看到在未來幾個月它還會有所增加。libXmlRequestlibXmlRequest框架也是比較老的一個框架,早在2003年就已經(jīng)發(fā)布了。這個框架包括一個JavaScript文件,它相當于XMLHttpRequest對象的一個包裝器,提供了兩個重載的請求函數(shù):getXml和postXml。另外,它有一些處理緩沖池和緩存的屬性,還有一些工具函數(shù)處理常見的任務,如解析來自服務器的XML以及修改DOM。 這個工具包能在哪些瀏覽器上運行,這一點還不是很清楚,而且有關的文檔相當少。這個工具包版權歸其作者Stephen W. Cote所有,其中沒有提到許可問題。因此,只能用它幫助你產(chǎn)生靈感。RSLiteRSLite是遠程腳本的一個實現(xiàn),由Brent Ashley編寫。從技術上講,它沒有利用作為Ajax核心的XMLHttpRequest對象,但是得到了更廣泛的瀏覽器支持。如果你需要支持原來的瀏覽器,而這些瀏覽器不支持XMLHttpRequest對象,就可以試試RSLite。RSLite是相當輕量級的,已從2000年發(fā)展至今 。SACKSACK(簡單Ajax代碼包)開發(fā)為一個瘦包裝器,包裝了XMLHttpRequest對象。其作者Gregory Wild-Smith認為,其他的許多框架太過復雜,而且做了許多本不該它們完成的任務。所以他創(chuàng)建了SACK來簡化Ajax的開發(fā)。SACK包括幾個可以簡化服務器調(diào)用的方法。比起具體創(chuàng)建適當?shù)腦MLHttpRequest對象實例來說,用更少的代碼就能向服務器發(fā)送數(shù)據(jù),并處理響應。 SACK由一個JavaScript文件組成,其中包含很少的代碼。SACK底層軟件的發(fā)布得到了修改X11許可(也稱為MIT許可),與大多數(shù)開源項目一樣,它的文檔并不多,不過,入門肯定還是綽綽有余的。SACK的真正強大之處在于它的簡單性,如果你要找的是一個基本包裝器,可以試試SACK。sarrisasarissa有一點是Ajax做不到的,它以一種獨立于瀏覽器的方式對XML API提供了包裝支持。利用這個框架,創(chuàng)建和使用XMLHttpRequest對象實在是小菜一碟(不用檢查瀏覽器,它已經(jīng)為你處理好了)。另外,sarissa還對使用DOM提供了支持。類似于Google AJAXSLT,sarissa也支持XSLT,它模擬了IE上的Mozilla處理器。 sarissa只包括幾個類,在GPL協(xié)議下發(fā)布。Mozilla/Firefox和IE都充分支持sarissa,只在Opera、Konqueror和Safari瀏覽器上有些函數(shù)不能用。XHConnXHConn類似于SACK,它相當于XMLHttpRequest對象的一個簡單包裝器。你不用直接使用XMLHttpRequest對象,只需首先啟動一個XHConn實例,與使用XHR同樣的方法加以處理。也就是說,無需瀏覽器檢查,并提供了一種簡單的方法來確定瀏覽器是否支持XHR(這對于需要妥善降級的網(wǎng)站尤其方便)。 XHConn在Safari、IE、Mozilla、Firefox和Opera上都能工作。類似于大多數(shù)Ajax框架,這是一個開源實現(xiàn),在Creative Commons License協(xié)議下發(fā)布。XHConn是一個代碼不多的文件,不過它確實做到了該做的事情——簡化Ajax。jquery設計思想 簡潔的思想:幾乎所有操作都是以選擇DOM元素(有強大的Selector)開始,然后是對其的操作(Chaining等特性)。 優(yōu)點 小,壓縮后代碼只有20多k(無壓縮代碼94k)。 Selector和DOM操作的方便:jQuery的Selector與mootools的Element.Selectors.js比較,CSS Selector, XPath Selector(1.2后已刪除) Chaining:總是返回一個jQuery對象,可以連續(xù)操作。 文檔的完整,易用性(每個API都有完整的例子,這是其它框架現(xiàn)在不能比的),而且網(wǎng)上還有很多其它的文檔,書籍。 應用的廣泛,包括google code也使用了jQuery。編輯本段服務器端框架服務器端框架 以下介紹服務器端的框架。CPAINTCPAINT(跨平臺異步接口工具包)在服務器端實現(xiàn)Ajax,它向客戶返回文本或DOM文檔對象,以便用JavaScript處理。CPAINT在大多數(shù)主要瀏覽器上都能用,而且支持遠程腳本,在GPL協(xié)議下發(fā)布。這個項目的文檔相當完備,不過,CPAINT只支持PHP和ASP。Sajax利用Sajax,可以直接從JavaScript調(diào)用服務器端代碼。Sajax支持Perl、Python、Ruby和ASP等語言(不過奇怪的是,目前并不支持Java)。安裝Sajax相當簡單,只涉及針對特定服務器語言的簡單的庫。Sajax的開發(fā)社區(qū)極其活躍。已經(jīng)確認的只有IE 6和Mozilla/Firefox提供Sajax支持,不過本書作者認為它在Safari上也能很好地使用。JSON/JSON-RPCJavaScript對象注解(JSON)是一種文本格式,與XML很相似,可以用于交換數(shù)據(jù)。JSON的設計要保證兩方面,一方面便于人閱讀,另一方面便于機器解析,它使用了C系列語言類似的約定。與JSON相關的還有JSON-RPC,這是一個遠程過程調(diào)用(RPC)協(xié)議,類似于XML-RPC,但面向的是JSON語言。作為規(guī)約,JSON-RPC在許多語言中都有實現(xiàn),包括Java、Ruby、Python和Perl。 由于JSON-RPC是規(guī)約,你需要知道哪個特定實現(xiàn)適用于你的環(huán)境,還要充分了解特定的實現(xiàn)。取決于具體的實現(xiàn),有些實現(xiàn)的文檔相當完備,有些則根本沒有。開發(fā)人員的參與程度也有很大不同。關于JSON-RPC規(guī)約的討論已經(jīng)有些少了。Direct Web Remoting利用Direct Web Remoting (DWR),你能從JavaScript直接調(diào)用Java方法,就好像它們是瀏覽器的本地方法一樣。盡管后臺嚴格限制為Java,但DWR仍然是最流行的框架之一。DWR的文檔是最棒的,還有一些有用的例子可以幫助你入門。 安裝并不難,不過還要編輯Web應用的部署描述文件,另外要編輯DWR特定的文件。DWR配置文件指定了可以遠程創(chuàng)建和調(diào)用的類,而且文檔中警告用戶:從瀏覽器調(diào)用服務器確實存在一些安全問題。除了包含服務器端代碼的JAR文件,另外還有兩個JavaScript文件包含了一些輔助函數(shù)。DWR適用于一些常見的Web框架,如Struts和Tapestry,在Apache協(xié)議下發(fā)布。如果想從Web頁面調(diào)用Java方法,DWR能助你一臂之力。SWATOShift Web Applications TO (SWATO)也是一個基于Java的Ajax框架解決方案。SWATO在所有Servlet 2.3或更高版本的容器中都能工作,類似于DWR,它也需要對配置文件做一些更新。有意思的是,SWATO充分利用了JSON來完成客戶和服務器之間數(shù)據(jù)的編組,與本附錄中討論的其他一些框架相似,它也允許從瀏覽器調(diào)用服務器端Java。為了幫助開發(fā)人員,SWATO包括許多可復用的組件,如自動完成文本框等。 與使用其他框架相比,使用SWATO要相對復雜一些,要訪問的類需要實現(xiàn)一個SWATO接口。不過,其文檔相當完備,對于入門來講綽綽有余。SWATO設計為使用Spring來打包服務,但是不一定非得如此。Java BluePrintSun的BluePrints小組一直忙于將Ajax納入他們的解決方案目錄(Solutions Catalog)中。Solutions Catalog包括一些很好的文檔,描述了如何使用基本Ajax,如何實現(xiàn)自動完成,如何創(chuàng)建一個進度條以及如何驗證表單。它還包括JavaServer Faces組件。Ajax NetAjax Net之于Microsoft .NET就相當于SAJAX、DWR和SWATO之于Java。利用AjaxNet,你能從JavaScript客戶調(diào)用.NET方法。AjaxNet包括一個DLL,可以與VB .NET或C#一同使用。AjaxNet的文檔很好地展示了針對各種場景的解決方案,而且能得到相關的源代碼。不過,AjaxNet的許可協(xié)議很不明確。Microsoft的Atlas項目Microsoft在Ajax領域涉足的時間已經(jīng)不短了,畢竟,XMLHttpRequest對象是Microsoft發(fā)明的,而且從1998年開始就已經(jīng)用在Web版本的Outlook中。Microsoft把重點放在提供一個更加健壯的開發(fā)環(huán)境上,從而讓開發(fā)人員的工作更輕松。Microsoft的著眼點還不只這些,還力圖提供客戶端腳本框架、ASPNET控件和Web服務集成。Microsoft還發(fā)布了Atlas項目,作為其ASPNET 2.0預覽版的一部分。有Microsoft的介入,開發(fā)人員的工具包可能會比今天充實得多。Ruby on RailRails是一個令人興奮的新Web框架,建立在Ruby語言基礎上。如今,Rails已經(jīng)得到了大量關注(在Google上查一下Rails,可以找到更多信息),這是因為使用Rails能夠快速開發(fā)基于Web的應用。開發(fā)Basecamp時,37signals小組提出名為Rails的框架。Basecamp正是Ajax應用的主要示例,所以看到Rails對Ajax提供如此充分的支持,我們不應感到奇怪。Rails有許多內(nèi)置的JavaScript庫,其中包裝了很多常用的特性,它還包含一個模塊,其中包裝了Ruby的JavaScript調(diào)用。如果你在使用Rails,就會發(fā)現(xiàn)Ajax非常簡單。
1
|
易勢沈陽建站專業(yè)機構,以DIV+CSS為主,js/jQuery為輔,制作利于優(yōu)化,頁面美觀的優(yōu)質網(wǎng)站!

網(wǎng)絡策劃公司|新浪官方微博|大連網(wǎng)站建設
沈陽易勢科技有限公司 網(wǎng)站制作網(wǎng)絡營銷公司 © 2011 , All rights reserved. 公司地址:沈陽市鐵西區(qū)貴和街道建設中路15號淺草綠閣商務樓402室沈陽做網(wǎng)站 沈陽建站
遼B2-20150173-8