簡介:如今,Ajax 仍然是業界的熱門字眼,越來越多的應用程式都採用 Ajax 技術構建。然而,構建一個好的 應用程式並不容易。本文將著重討論如果構建 直 觀易用的受 Ajax 驅動的應用程式。
Ajax 並不只是一種技術。大多數開發人員卻認為它是,並試圖藉助諸如 XML 和 JavaScript 這類語言證明其觀點。但這種觀點非常局限,並且,忽視了付錢 給您的人:客戶,不管是諮詢代理還是您的老闆(只有您建立了令人滿意的使用者 群,他們才能獲得收入)。
客戶並不關心技術;他們關心的是應用程式的外在表現如何,以及當他們通 過 滑鼠和鍵盤操作時,應用程式如何響應。您可以將世界上所有的技術都構建到應 用程式中,而此應用程式卻不一定能有多成功,您也可以構建一個非常簡單的 HTML 應用程式,它卻可以工作得很好。因此,我們的目標是要結合技術和可用 性 ,這一點對 Ajax 應用程式而言尤其正確。
Ajax 的承諾
瞭解 Ajax 所能提供的功能對於開發人員和使用者而言都非常重要。不管您是 否 將應用程式定義為 Ajax,人們對 Web 應用程式都有了更高的期望,如果想要讓 客戶滿意,最好瞭解這些期望。
可用性
首先,Ajax 關乎可用性。有些開發人員可能會奇怪,因為 Ajax 已經給人們 帶來了瞬間的回應時間、小組件和可視工具以及各種各樣的 GUI 元素。這些絕 對 是 Ajax 體驗的一部分,但是大多數使用者 — 而非開發人員 — 只是發現 Ajax 應用程式更好用。它們能像使用者期望的那樣響應,應用程式的元素 — 欄位、按 鈕和映像 — 均符合使用者的期望。
其結果就是應用程式很好使用。使用者無需做很多尋找,比如尋找 zip 代碼字 段在哪以及又該如何在地圖上做縮放。如果所設計的是 Ajax 應用程式(並且即 使設計的不是這類應用程式),就應該爭取達到同等的可用性程度。使用者試用和 常識是最好的指導,接下來,我們將討論一些可用來確保應用程式可用和直觀的 簡單方法。
響應性
處理完可用性後,就需要處理 Ajax 應用程式的響應性了。初看上去,這似 乎 是有關速度的問題。Ajax 應用程式無需在每次發生事件時都向伺服器端程式提 交 並重新整理頁面,這意味著等待的減少(至少理論上如此)。然而,Ajax 特性的這 一 部分多少有點人為因素。在 DSL 世界,等待並不是很多。您的母親和祖母可能 用 的是有線 modem,而不是撥接,如果您在工作中閱讀本文,那麼很可能所用 的網路是 T1 或 T3。Ajax 應用程式的速度天生較快,這一點很難理解(如果速 度真的較快,快多少?10 毫秒?100 毫秒?您知道這意味著多麼短的時間嗎? ) 。
然而,Ajax 應用程式應該比傳統應用程式有更好的響應性。這不僅僅是指速 度這一個方面,它還涉及到了應用程式給人的感覺如何(而這主要體現在可用性 和介面)。比如,假設您輸入自己名字並開始選擇您所喜歡的 Crocs 的顏色, 在 您進行其他動作的時候,程式會有很多時間執行其他任務。所以應用程式可能會 擷取您的地址、所儲存的信用卡資訊,可能還有您之前在訪問這家網上商店時已 經標示為朋友的那些人。所有這些資訊可能會花費很多時間,但如果您正在忙著 做其他一些事情,並且這些資訊已經顯示為可用,那麼會覺得應用程式響應性 非 常好。
需要一些技巧的是 — 我們將會對此詳細加以討論 — 何時開始製造 這種響 應性。通過以特定的方式在應用程式中排欄欄位,就會知道使用者將要遵循的操作 流程。這樣一來,我們就可以編寫 Ajax 互動程式以便利用這一流程。請記住這 一點,我們先對其稍做論述,稍後我們再用特定的樣本回到這一主題。
獨特的類案頭介面
這是最能為人接受而同時又是最難的一個 Ajax 應用程式的特性。我們所說 的 “感覺上” 像傳統型應用程式,在很多時候,是指 “看起來” 像傳統型應用程式 。 我的公司使用的是 Zimbra 郵件套件,它模仿的是 Microsoft Outlook,我猜想 其中的原因一定是覺得看起來像傳統型應用程式就會感覺上也像傳統型應用程式。
有關這一問題,有很多不同的見解。有些人認為 Web 的目的就是要成為一種 新的案頭。您將使用的是同樣的應用程式 — 或其類似物 —,只不過這些程式 將 都是線上的。初此之外,其餘的看起來和感覺上均與之前無異。另一些人(我承 認,我更偏向這一陣營)認為 Web 是一種獨特的空間,有些地方好於案頭應用 程 序,有些地方則更差。Web 是其自身的媒介,Web 上的應用程式應該單獨設計, 而不能只簡單複製傳統型應用程式。
不管何種情況,有一點很清楚,即 Ajax 應用程式能夠看起來比 1997 年的 HTML 表單要好很多,那時的表單只有大的灰色的 Submit Form 按鈕和沉悶的 “ border=1” 裝飾。所以 Ajax 範型需要更加豐富的體驗,即使很多人在如何實 現 的問題上意見不盡相同。