AJAX即“Asynchronous JavaScript and XML”(異步JavaScript和XML),AJAX并非縮寫詞,而是由Jesse James Gaiiett創造的名詞,是指一種(zhǒng)創建交互式網頁應用的網頁開(kāi)發(fā)技術。
國(guó)内使用ajax 構建應用程序通常的讀音爲“阿賈克斯”和阿賈克斯足球隊讀音一樣(yàng)。Web應用的交互如Flickr, Backpack和Google在這(zhè)方面(miàn)已經(jīng)有質的飛躍。這(zhè)個術語源自描述從基于網頁的Web應用到基于數據的應用的轉換。在基于數據的應用中,用戶需求的數據如聯系人列表,可以從獨立于實際網頁的服務端取得并且可以被(bèi)動态地寫入網頁中,給緩慢的Web應用體驗著(zhe)色使之像桌面(miàn)應用一樣(yàng)。 雖然大部分開(kāi)發(fā)人員在過(guò)去使用過(guò)XMLHttp或者使用Iframe來加載數據,但僅到現在我們才看到傳統的開(kāi)發(fā)人員和公司開(kāi)始采用這(zhè)些技術。就像新的編程語言或模型伴随著(zhe)更多的痛苦,開(kāi)發(fā)人員需要學(xué)習新的技巧及如何好(hǎo)利用這(zhè)些新技術。
該技術在19912年前後(hòu)得到了應用。允許客戶端腳本發(fā)送HTTP請求(XMLHTTP)的第一個組件由Outlook Web A 框架應用及對(duì)ajax框架的思考ccess小組寫成(chéng)。該組件原屬于微軟Exchange Server,并且迅速地成(chéng)爲了Internet Explorer 4.0的一部分。部分觀察家認爲,Outlook Web Access是第一個應用了Ajax技術的成(chéng)功的商業應用程序,并成(chéng)爲包括Oddpost的網絡郵件産品在内的許多産品的領頭羊。但是,2005年初,許多事(shì)件使得Ajax被(bèi)大衆所接受。Google在它著名的交互應用程序中使用了異步通訊,如Google讨論組、Google地圖、Google搜索建議、Gmail等。Ajax這(zhè)個詞由《Ajax: A New Approach to Web Applications》一文所創,該文的迅速流傳提高了人們使用該項技術的意識。另外,對(duì)Mozilla/Gecko的支持使得該技術走向(xiàng)成(chéng)熟,變得更爲易用。
AJAX前景非常樂觀,可以提高系統性能(néng),優化用戶界面(miàn)。AJAX現有直接框架AjaxPro,可以引入AjaxPro.2.dll文件,可以直接在前台頁面(miàn)JS調用後(hòu)台頁面(miàn)的方法。但此框架與FORM驗證有沖突。
另微軟也引入了AJAX組件,需要添加AjaxControlToolkit.dll文件,可以在控件列表中出現相關控件。
許多 利用ajax j2ee開(kāi)發(fā)組織機構重要的技術和AJAX開(kāi)發(fā)模式可以從現有的知識中獲取。例如,在一個發(fā)送請求到服務端的應用中,必須包含請求順序、優先級、超時響應、錯誤處理及回調,其中許多元素已經(jīng)在Web服務中包含了,就像現在的SOA。AJAX開(kāi)發(fā)人員擁有一個完整的系統架構知識。
同時,随著(zhe)技術的成(chéng)熟還(hái)會有許多地方需要改進(jìn),特别是UI部分的易用性。
AJAX開(kāi)發(fā)與傳統的CS開(kāi)發(fā)有很大的不同。這(zhè)些不同引入了新的編程問題,大的問題在于易用性。
由于AJAX依賴浏覽器的JavaScript和XML,浏覽器的兼容性和支持的标準也變得和JavaScript的運行時性能(néng)一樣(yàng)重要了。這(zhè)些問題中的大部分來源于浏覽器、服務器和技術的組合,因此必須理解如何才能(néng)好(hǎo)的使用這(zhè)些技術。
綜合各種(zhǒng)變化的技術和強耦合的客戶服務端環境,AJAX提出了一種(zhǒng)新的開(kāi)發(fā)方式。AJAX開(kāi)發(fā)人員必須理解傳統的MVC架構,這(zhè)限制了應用層次之間的邊界。同時,開(kāi)發(fā)人員還(hái)需要考慮CS環境的外部和使用AJAX技術來重定型MVC邊界。重要的是,AJAX開(kāi)發(fā)人員必須禁止以頁面(miàn)集合的方式來考慮Web應用而需要將(jiāng)其認爲是單個頁面(miàn)。一旦UI設計與服務架構之間的範圍被(bèi)嚴格區分開(kāi)來後(hòu),開(kāi)發(fā)人員就需要更新和變化的技術集合了。
AJAX的利用ajax大機遇在于用戶體驗。在使應用更快響應和創新的過(guò)程中,定義Web應用的規則正在被(bèi)重寫;因此開(kāi)發(fā)人員必須更注重用戶。現在用戶已經(jīng)逐漸習慣如何使用Web應用了。例如用戶通常希望每一次按鈕點擊會導緻幾秒的延遲和屏幕刷新,但AJAX正在打破這(zhè)種(zhǒng)長(cháng)時間的狀況。因此用戶需要重新體驗按鈕點擊的響應了。
可用性是AJAX令人激動的地方而且已經(jīng)産生了幾種(zhǒng)新穎的技術。其中引人注目的是一種(zhǒng)稱爲“黃色隐出”的技術,它在數據更新之前時將(jiāng)用戶界面(miàn)變爲黃色,更新完成(chéng)後(hòu)立刻恢複原來的顔色。
AJAX開(kāi)發(fā)人員將(jiāng)用戶從Web應用的負載中解放出來;小心地利用AJAX提供的豐富接口,不久桌面(miàn)開(kāi)發(fā)人員會發(fā)現AJAX是他們的方向(xiàng)。