Ajax: A New Approach to Web Applications(中譯版轉載)

註:本文參考《Ajax: A New Approach to Web Applications》,簡單地對 Ajax 進行描述介紹

Ajax 定義

這裡說的 AJAX 可不是荷蘭的阿賈克斯,而是 Asynchronous JavaScript + XML 的縮寫,它也不是單一技術,而是幾種技術的強有力組合。參考《Ajax: A New Approach to Web Applications》文中所說,Ajax 包括:

* XHTML 和 CSS 的標準表示;
* 使用 DOM(Document Object Model)進行動態顯示及交互;
* 使用 XML 和 XSLT 進行數據交換及相關操作;
* 使用 XMLHttpRequest 進行異步數據查詢、檢索;
* 使用 JavaScript 將所有的東西綁定在一起。

Ajax 能夠做什麼?

如今 Google SuggestGoogle Maps 使用了 Ajax,通過 Ajax,我們可以使得客戶端得到豐富的應用體驗及交換操作,而用戶不會感覺到有網頁提交或刷新的過程,頁面也不需要被重新加載,應用的數據交換都被隱藏。

傳統的 WEB 應用程序模型是這樣工作的:用戶的界面操作觸發 HTTP 請求,服務器在接收到請求之後進行一些業務邏輯處理,如保存數據等,然後向客戶端返回一個 HTML 頁面。但這種方式並沒有給予用戶很好的應用體驗,當服務器在處理數據的時候,用戶則處於等待的狀態,每一步操作都需要等待,太多的等待會使用戶越來越沒有耐心。而 Ajax 則大不相同,它通過 Ajax 引擎,使得應用過程很自然,操作很流暢,因為其只和服務器交換有用的數據,而頁面顯示等不必要的數據則不再重新加載。Ajax 引擎其實就是 JavaScript、XML、XMLHttpRequest 等等各項技術的綜合應用。

--圖 1:傳統 WEB 應用模型(左)與 Ajax 應用模型(右)的對比

--圖 2:傳統 WEB 應用程序的同步交互模式(上)與 Ajax 應用程序的異步模式(下)的對比

當前都有誰在使用 Ajax

當前應用 Ajax 的已有不少網站,如:

* Orkut
* Gmail
* Google Groups
* Google Suggest
* Google Maps
* Flickr 的部分特性
* Amazon 的 A9.com 搜索引擎部分

Ajax 應用前景

Ajax 的最大挑戰並不是技術,組成 Ajax 的各項技術已經相當成熟、穩定及易學,主要挑戰是如何使用 Ajax 設計應用程序,我們必須拋棄以往對於 WEB 侷限性的看法,開始開闊視野、開放思想、不斷創新,實現更加豐富的應用體驗。

Ajax 項目

目前我所瞭解到的與 Ajax 相關的項目如下:

* SAJAX - PHP
* JPSpan - PHP
* DWR (Direct Web Remoting) - Java
* JSP (JavaScript Templates) - JavaScript

更多信息可參考 del.icio.us/popular/ajax

AJAX經典文章

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *