濮阳杆衣贸易有限公司

主頁 > 知識庫 > AJAX技術基礎介紹

AJAX技術基礎介紹

熱門標簽:上海浦東騰訊地圖標注位置 澳大利亞城市地圖標注 海南銀行智能外呼系統(tǒng)商家 辰溪地圖標注 許昌智能電銷機器人公司 遼寧正規(guī)電銷機器人 姜堰電銷機器人 遼寧銀行智能外呼系統(tǒng) 電銷機器人違法了嗎
基于XML的異步JavaScript,簡稱AJAX,是當前Web創(chuàng)新(稱為Web2.0)中的一個王冠。感謝組成AJAX的各種技術,Web應用的交互如Flickr, Backpack和Google在這方面已經(jīng)有質的飛躍。這個術語源自描述從基于網(wǎng)頁的Web應用到基于數(shù)據(jù)的應用的轉換。在基于數(shù)據(jù)的應用中,用戶需求的數(shù)據(jù)如聯(lián)系人列表,可以從獨立于實際網(wǎng)頁的服務端取得并且可以被動態(tài)地寫入網(wǎng)頁中,給緩慢的Web應用體驗著色使之像桌面應用一樣。
雖然大部分開發(fā)人員在過去使用過XMLHttp或者使用Iframe來加載數(shù)據(jù),但僅到現(xiàn)在我們才看到傳統(tǒng)的開發(fā)人員和公司開始采用這些技術。就像新的編程語言或模型伴隨著更多的痛苦,開發(fā)人員需要學習新的技巧及如何最好利用這些新技術。

AJAX模式

許多重要的技術和AJAX開發(fā)模式可以從現(xiàn)有的知識中獲取。例如,在一個發(fā)送請求到服務端的應用中,必須包含請求順序、優(yōu)先級、超時響應、錯誤處理及回調,其中許多元素已經(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ā)人員就需要更新和變化的技術集合了。

時刻想著用戶

AJAX的最大機遇在于用戶體驗。在使應用更快響應和創(chuàng)新的過程中,定義Web應用的規(guī)則正在被重寫;因此開發(fā)人員必須更注重用戶?,F(xiàn)在用戶已經(jīng)逐漸習慣如何使用Web應用了。例如用戶通常希望每一次按鈕點擊會導致幾秒的延遲和屏幕刷新,但AJAX正在打破這種長時間的狀況。因此用戶需要重新體驗按鈕點擊的響應了。

可用性是AJAX另人激動的地方而且已經(jīng)產生了幾種新穎的技術。其中最引人注目的是一種稱為“黃色隱出”的技術,他在數(shù)據(jù)更新之前時將用戶界面變?yōu)辄S色,更新完成后立刻恢復原來的顏色。AJAX開發(fā)人員將用戶從Web應用的負載中解放出來;小心地利用AJAX提供的豐富接口,不久桌面開發(fā)人員會發(fā)現(xiàn)AJAX是他們的方向。

幾種工具和技術

隨著AJAX迅速地引人注目起來,我想開發(fā)人員對這種技術的期待也迅速地增加。就像任何新技術,AJAX的興旺也需要一整個開發(fā)工具/編程語言及相關技術系統(tǒng)來支撐。

JavaScript

如名字所示AJAX的概念中最重要而最被忽視的是他也是一種JavaScript編程語言。JavaScript是一種粘合劑使AJAX應用的各部分集成在一起。在大部分時間,JavaScript通常被服務端開發(fā)人員認為是一種企業(yè)級應用不需要使用的東西應該盡力避免。這種觀點來自以前編寫JavaScript代碼的經(jīng)歷:繁雜而又易出錯的語言。類似的,他也被認為將應用邏輯任意地散布在服務端和客戶端中,這使得問題很難被發(fā)現(xiàn)而且代碼很難重用。在AJAX中JavaScript主要被用來傳遞用戶界面上的數(shù)據(jù)到服務端并返回結果。XMLHttpRequest對象用來響應通過HTTP傳遞的數(shù)據(jù),一旦數(shù)據(jù)返回到客戶端就可以立刻使用DOM將數(shù)據(jù)放到網(wǎng)面上。

XMLHttpRequest

XMLHttpRequest對象在大部分瀏覽器上已經(jīng)實現(xiàn)而且擁有一個簡單的接口允許數(shù)據(jù)從客戶端傳遞到服務端,但并不會打斷用戶當前的操作。使用XMLHttpRequest傳送的數(shù)據(jù)可以是任何格式,雖然從名字上建議是XML格式的數(shù)據(jù)。

開發(fā)人員應該已經(jīng)熟悉了許多其他XML相關的技術。XPath可以訪問XML文檔中的數(shù)據(jù),但理解XML DOM是必須的。類似的,XSLT是最簡單而快速的從XML數(shù)據(jù)生成HTML或XML的方式。許多開發(fā)人員已經(jīng)熟悉Xpath和XSLT,因此AJAX選擇XML作為數(shù)據(jù)交換格式有意義的。XSLT可以被用在客戶端和服務端,他能夠減少大量的用JavaScript編寫的應用邏輯。

CSS

為了正確的瀏覽AJAX應用,CSS是一種AJAX開發(fā)人員所需要的重要武器。CSS提供了從內容中分離應用樣式和設計的機制。雖然CSS在AJAX應用中扮演至關重要的角色,但他也是構建創(chuàng)建跨瀏覽器應用的一大阻礙,因為不同的瀏覽器廠商支持各種不同的CSS級別。

服務器端

但不像在客戶端,在服務端AJAX應用還是使用建立在如Java,.Net和PHP語言基礎上機制;并沒有改變這個領域中的主要方式。

既然如此,我們對Ruby o­n Rails框架的興趣也就迅速增加了。在一年多前,Ruby o­n Rails已經(jīng)吸引了大量開發(fā)人員基于其強大功能來構建Web和AJAX應用。雖然目前還有很多快速應用開發(fā)工具存在,Ruby o­n Rails看起來已經(jīng)儲備了簡化構建AJAX應用的能力。

開發(fā)工具

在實際構建AJAX應用中,你需要的不只是文本編輯器。既然是JavaScript非編譯的,他可以容易地編寫和運行在瀏覽器中;然而,許多工具提供了有用的擴展如語法高亮和智能完成。

不同的IDE提供了對JavaScript支持的不同等級。來自JetBrains的IntelliJ IDEA是一個用來JavaScript開發(fā)的更好的IDE,雖然許多開發(fā)人員也喜歡Microsoft's Visual Studio產品(允諾會在最新的版本中改善對AJAX的支持)。Eclipse包含了兩個免費的JavaScript編輯器插件和一個商業(yè)的來自ActiveStat的Komodo IDE。

另一個JavaScript和AJAX開發(fā)中的問題是調試困難。不同的瀏覽器提供不同的通常是隱藏的運行時錯誤信息,而JavaScript的缺陷如雙重變量賦值(通常是由于缺少數(shù)據(jù)類型)使得調試更加困難。在AJAX的開發(fā)中,調試就更復雜了,因為其需要標識究竟是客戶端還是服務端產生的錯誤。在過去,JavaScript調試的方法是刪除所有代碼然后一行行的增加直到錯誤出現(xiàn)。現(xiàn)在,更多開發(fā)人員回到為IE準備的Microsoft Script Debugger和為Mozilla瀏覽器準備的Venkman。

瀏覽器兼容性

JavaScript編程的最大問題來自不同的瀏覽器對各種技術和標準的支持。構建一個運行在不同瀏覽器(如IE和火狐)是一個困難的任務。因此幾種AJAX JavaScript框架或者生成基于服務端邏輯或標記庫的JavaScript,或者提供符合跨瀏覽器AJAX開發(fā)的客戶端JavaScript庫。一些流行的框架包括:AJAX.Net, Backbase, Bitkraft, Django, DOJO, DWR, MochiKit, Prototype, Rico, Sajax, Sarissa, and Script.aculo.us.
這些框架給開發(fā)人員更多的空間使得他們不需要擔心跨瀏覽器的問題。雖然這些框架提升了開發(fā)人員構建應用的能力,但由于廠商已經(jīng)開發(fā)了更細節(jié)的用戶界面的打包組件解決方案,因此在AJAX組件市場中需要考慮一些其他因素。例如提供通用用戶界面的組件如組合框和數(shù)據(jù)柵格的幾個廠商,都可以被用來在應用中創(chuàng)建良好的通過類似電子數(shù)據(jù)表方式來查看和編輯數(shù)據(jù)的體驗。但這些組件不僅是封裝了組件的用戶界面而且包括與服務端數(shù)據(jù)的通訊方式,這些組件通常使用基于標記方式來實現(xiàn)如ASP.Net或JSF控件。

展望

最近IE和火狐之間的瀏覽器之爭變得火熱起來,因此AJAX開發(fā)人員需要足夠敏捷的作出反應。關鍵點在一些問題如CSS或XML,雖然各種瀏覽器形成采用最新標準的不同陣營(如Mozilla擁抱SVG和E4X標準及在最新火狐BETA版本中使用XUL,而微軟使用自己的XAML技術)。所有這些技術代表當前AJAX主流JavaScript和XML的市場方向改變。

總的來說,AJAX開發(fā)人員必須盡快地跟進最新的技術并利用高產的工具集。成功的AJAX開發(fā)人員還需要留心他們的使用者以避免將任何問題擴大化。并且AJAX開發(fā)人員還需要持續(xù)地創(chuàng)新來創(chuàng)建增強Web應用易用性的新方法。
您可能感興趣的文章:
  • Javascript 基礎---Ajax入門必看
  • 使用jQuery處理AJAX請求的基礎學習教程
  • Jquery ajax基礎教程
  • ajax跨域(基礎域名相同)表單提交的方法
  • 零基礎學習AJAX之AJAX的簡介和基礎
  • JQuery的ajax基礎上的超強GridView展示
  • ajax 入門基礎之 XMLHttpRequest對象總結
  • Ajax+PHP簡單基礎入門實例教程
  • Ajax.基礎教程 電子書版 提供下載
  • Ajax基礎知識詳解

標簽:西藏 深圳 崇左 撫州 晉城 銅川 威海 伊春

巨人網(wǎng)絡通訊聲明:本文標題《AJAX技術基礎介紹》,本文關鍵詞  AJAX,技術,基礎,介紹,AJAX,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《AJAX技術基礎介紹》相關的同類信息!
  • 本頁收集關于AJAX技術基礎介紹的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    康乐县| 石门县| 丰城市| 兴安县| 安福县| 调兵山市| 互助| 临沭县| 滦平县| 长春市| 东乡族自治县| 木里| 诏安县| 延川县| 灵璧县| 屏东市| 五大连池市| 新民市| 西华县| 资源县| 银川市| 永川市| 彰化县| 丰县| 门头沟区| 曲沃县| 台北市| 曲水县| 来宾市| 新丰县| 顺昌县| 黎城县| 黄陵县| 新龙县| 灯塔市| 古浪县| 伽师县| 隆尧县| 海伦市| 邵阳县| 襄城县|