内容
-概況
-什麼是AJAX
-AJAX技術
-AJAX和服務端技術
-設計政策
-設計政策1:自己完成(Do It Yourself)
-設計政策2:使用用戶端JavaScript庫
-設計政策3:使用用戶端架構
-設計政策4:包裝
-設計政策5:遠端政策
-設計政策6:所有Java技術
-摘要
-其他資訊
-關于作者
概況
受網站目标的驅使,Web應用已經進入了一個新時代,這些目标包括更快的響應使用者動作,在創作和分享web内容時進行的使用者協作等。被定義為此類高速響應的和經常協作站點的最流行的術語就是Web 2.0。
![]() |
一些web 2.0的最經典的例子包括Google Maps 和 Flickr站點。Google Maps提供一個高速響應的使用者界面(UI)。例如:你可以察看一副地圖,并通過移動滑鼠越過它以立即的察看相臨近的區域。Flickr是這樣一個網站,使用者們存儲和共享照片--使用者管理幾乎這個站點的所有内容。 另外的Web2.0站點通過一些方式提供相似的豐富的使用者體驗,這些方式包括整合其他網站的服務或合并一個穩定的新的資訊流。例如,Google map服務可以被使用在另一個站點,比如一個汽車銷售站點,用來顯示一家銷售指定汽車類型的代理商在地圖上的位置。此類站點內建使用的術語叫做” mashups”。另外還包括一個運動導向網站,它可以不斷的重新整理分數而不需要使用者請求頁面更新。 這篇文章是關于現今用來制作高響應的web 2.0站點的主要技術:Asynchronous JavaScript and XML (AJAX). 什麼是AJAX? 許多優秀的文章都将AJAX描述為有效的,例如《Asynchronous JavaScript Technology and XML (AJAX) With Java 2 Platform Enterprise Edition》。簡單說,AJAX是一系列使網頁成為-或看起來像高速響應的技術。AJAX使這個成為可能,因為它支援網頁的異步和部分重新整理功能。 部分重新整理意味着當一個互動事件發生-例如,使用者向網頁的表單裡輸入資訊并且點選送出按鈕-伺服器處理資訊并傳回關于這些資訊的有限響應。值得注意的,伺服器并不傳回整個頁面,雖然傳回整個頁面已成為一種慣例,“點選,等待,重新整理”web應用。相反的,用戶端基于響應來更新頁面。這意味着,隻有部分頁面被更新。換句話說,網頁像一個模版一樣被處理:用戶端和服務端交換資料,用戶端基于收到的資料來更新模版的某部分。可以這樣認為,使用AJAX的web應用受事件和資料的驅動,而傳統的web應用受頁面驅動。 異步意味着在向服務端發送資料之後,當服務端在背景運作的時候,用戶端可以繼續執行。這意味這使用者可以繼續與用戶端進行互動,而不必等待服務端的滞後響應。例如,使用者可以繼續在Google map上移動滑鼠,并在顯示器上看到一個平滑的,不間斷的變換。用戶端在繼續執行之前不必等待服務端的響應。 AJAX站點的另一個重要方面在于,觸發AJAX響應的事件不限于送出資料或點選連結。在頁面的一個區域上移動滑鼠,在輸入域中鍵入資料,或者像Google Maps一樣用滑鼠拖拽地圖,已足夠觸發AJAX響應。使用者和網頁間的動态互動使web應用更接近于高速響應的桌面應用。桌面應用經常被稱為胖桌面應用(rich desktop applications)。是以web 2.0經常被叫做胖網際網路應用(rich Internet applications)。 AJAX技術 下面的技術是AJAX裡具有代表性的: 層疊樣式單(CSS),一種定義頁面表示樣式的語言,例如字型、顔色等。 JavaScript,一種腳本語言。在JavaScript技術裡對AJAX很關鍵的一個元素是XMLHttpRequest,一個用來在web用戶端和web服務端交換資料的對象。 文檔對象模型(DOM),提供頁面的樹狀結構的邏輯視圖。 XML,用來從服務端向用戶端傳送資料的一種格式。盡管如此,你可以使用其他格式,例如HTML, JavaScript Object Notation (JSON), 或無格式文本. 像其他web應用一樣,AJAX web應用使用HTML,XHTML類的标記語言來呈現頁面,或者JSP類服務端技術來生成網頁。另外,服務端應用系統在AJAX應用中扮演一個關鍵的角色。類似Java EE的服務端應用系統包括對關于AJAX的資料驗證,使用者身份管理,和持久性配置的很好支援。請看本文的AJAX and Server-Side Java Technologies部分。(待續)
|
圖1: AJAX 如何處理使用者動作 |