像其他人一樣,當我看到一下RIA應用,例如Google Maps和Google Suggest的時候我都非常驚訝。我希望知道是如何?的。現在,謎底揭開了,那就是AJAX。這是在我花了一段時間研究AJAX之後才知曉的。這裡有一個很好的例子讓我們知道AJAX是如何很好的應用在 JavaRSS.com 裡面的。
Ajax(非同步 JavaScript 和 XML)是一種編程技術,它允許為基於 Java 的 Web 應用程式把 Java 技術、XML 和 JavaScript 組合起來,從而打破頁面重載的範式。
在AJax這個方案中有一個隸屬於javascript的ECMAScript,是對javascript的擴充,專門用於解析xml檔案的,所以又稱為(ECMAScript for XML, E4X)。這種技術的引入,使得javascript對xml的解析變得非常簡單。有非同步,自然就有同步。而我們傳統的網路應用正式基於同步傳輸的,及使用者發出請求->伺服器邏輯處理->伺服器對使用者請求做出回應即完成顯示。這是使用者訪問一個應用或網頁的完整流程,使用者在從提出請求到請求結束過程中經過了三個等待過程,如果在傳統方案中看上去這是無法改變的現實。然而是否真的這樣呢,AJax不僅給我們提供了一種全新的思路,而且對傳統方案提出挑戰。
什麼是AJAX: AJAX 是一個架構(architecture)並不是一種技術。AJAX代表非同步JavaScript和XML。
妙語(Punch Line): 消極式載入
問題: 當JavaRSS.com首頁載入時,他同時載入了所有條目的介紹(如果你在設定中啟用了)。這些介紹只有當你滑鼠移動到該條目的上面的時候才顯示。
現在的問題是使用者不可能是滑鼠移過所有的條目,所以積極式載入所有的介紹不是個好主意。
解決方案: 使用AJAX,當滑鼠移過的時候從伺服器動態載入條目的介紹。
這麼做可以使初始頁的載入大小減小一半甚至更多,這樣一來頁面載入就更快,就內能得到一個更好的使用者體驗。
時序圖: