ajax|web|程式 一、引言
一個理想的使用者介面對使用者最好是不可見的-僅在使用者需要時提供選擇,否則並不干涉他們的工作而讓其專註於手頭的工作。然而,這並不是一件容易的事情。如今,我們變得習慣於通過並不十分令人滿意的UI進行日常工作,直到有人向我們展示一種更好的方法。現在,我們才逐漸認識到我們當前的方法在做這些事情時是多麼吃力。
由於用於顯示文檔內容的基本web瀏覽器技術又被推進一步進而超出以前它們所能及的範圍,所以,如今的互連網正在經曆著這樣的實現。
Ajax(非同步JavaScript+XML)是一個非常新的名字,為Adaptive Path的Jesse James Garrett所建立。其中,Ajax的某些部分以前被描述為動態HTML和遠程指令碼。
Ajax的出現不僅僅是一個新名字的問題。從技術和商業的角度看,圍繞Ajax還有大量激動人心的東西。從技術上講,Ajax實現了web瀏覽器技術中大量的尚未實現的潛力。從商業上看,Google和其它一些主要商家正在逐步使用Ajax技術,從而讓公眾認識到一個web應用程式所能做的事情。
以前我們習慣的典型web應用程式如今正在承受著巨大的壓力,因為逐漸複雜的基於全球資訊網的服務正日趨成熟並開始應用於互連網。各種新技術爭相湧現出來以克服這些問題,而Ajax僅使用現有的互連網技術就能夠更好地表達這些思想。
利用Ajax,我們重用了一堆原有技術但卻擴充了它們原來所能及的範圍。我們需要能夠管理這種我們引入的複雜性。本文將討論怎樣實現這些技術,而且還要討論一下管理大型Ajax工程的問題。我們將介紹Ajax設計模式及其怎樣協助我們完成工作。設計模式協助我們捕獲我們的知識和經驗,用我們現在的技術並且使之與其它對象進行通訊。通過把規則引入到代碼基之上,它們就能夠方便建立應用程式-可以據變化對工程加以修改和擴充。使用設計模式進行開發甚至是一種喜悅!
為什麼說Ajax是豐富的用戶端?
構建一個豐富的用戶端介面比設計一個WEB頁面要複雜。那麼是東西導致我們這樣做的?好處有哪些?什麼是豐富的用戶端?
一個豐富的用戶端有兩個關鍵特點:它是豐富的,而且它是一個用戶端。
讓我稍作解釋。豐富指的是用戶端方式。一個豐富的用戶端模型-是指它能夠支援各種輸入方法且能夠直觀又非常及時地作出響應。儘管我們稱其為"豐富的",但是它必須與象文書處理器和工作表等現代傳統型應用程式一樣好才真正豐富。下面讓我們看一下為達此目的所具體要求的實現技術。
二、比較使用者體驗
在這裡,讓我們討論一個工作表程式的執行個體。我在工作表輸入一些簡單的公式時,我可以有幾種方式與之互動-現場編輯資料,用鍵盤和滑鼠導航資料和通過滑鼠拖動重新組織資料。
當我在操作這些時,軟體給我反饋-滑鼠游標形狀改變,當我在按鈕上移動時按鈕高亮,選定的文本改變顏色,高亮的視窗和對話方塊以不同形式顯示,等等(圖1)。
圖1 這個案頭工作表應用程式說明了多種使用者互動的可能性。 |
這些是當今使用者豐富的互動的主要表現。這樣的工作表應用程式就是一個豐富的用戶端嗎?還不是。
在一個工作表或類似的傳統型應用程式中,邏輯和資料模型都在一個封閉的環境中運行-在此它們彼此都能清晰可見,但是卻把外界拒之門外(圖2)。我的用戶端定義是一個程式-它能夠與一個不同的獨立的進程通訊-典型地它運行於一個伺服器上。傳統地,該伺服器比用戶端更大更強壯並且儲存了海量資訊。用戶端允許終端使用者觀看和修改這些資訊,並且如果有一些客戶串連到同一個伺服器上,它允許他們分享該資料。圖3顯示出一客戶機/伺服器架構的簡單圖解。
- Ajax: 一個建立Web應用的新途徑
- Ajax的錯誤處理機制探討(2)
- Ajax的錯誤處理機制探討(1)
- 初次體驗.NET Ajax無重新整理技術
- Rails系統中的AJAX開發技術簡析(4)