ajax|web|程式
這種用戶端方式已經根深蒂固於過去十多年間的每天的商業互連網之中。友好的WYSIWYG web創作工具把我們的網站可視化為一個頁面集合。伺服器端web架構把這種頁面間的轉換建模為狀態轉換圖。經典web應用程式,在頁面重新整理時,與不可避免的缺乏響應緊密結合,不可能容易地求助於非同步處理器解決方案。
但是Amazon基於其網站已經取得了商業上的成功。當然,經典web應用程式不可能象那樣不可用?為了理解為什麼web頁面可以適合於Amazon而不適用於每個人,我們應該考慮一下使用模式的問題。
五、長期與短暫使用模式
軟體可用性專家Alan Cooper對於使用模式下過重要的結論,並且定義了兩個關鍵的使用方式:短暫的和長期的。一個短暫的應用程式可能每天都被使用,但只在是一段時間內且通常只是作為第二活動。而相反,一個長期的應用程式必須每次連續數小時地有效地處理使用者的全部注意力。
許多應用程式其實都是短暫或長期使用的。一個作家的文書處理器是一長期的應用程式,例如,其中包括了許多短暫的功能,例如檔案管理工具(經常嵌入到文書處理器中,如一個檔案儲存或開啟對話方塊),一本字典或拼字檢查程式(經常是嵌入的)以及與同事交流的一個電子郵件程式等。對一個軟體開發人員來說,文字編輯器或整合式開發環境(IDE)則是他們長期使用的,還有調試器。
長期使用的應用程式常常也是滿懷激情使用的。請記住,一個良構的UI應該是不可見的。這種使用的一個良好度量是對使用者UI工作流程的影響,這樣就提醒了使用者它的存在。如果我只是簡單地把檔案從一個檔案夾移動到另一個檔案夾並遇到一個2秒鐘的等待,我可能比較高興。如果 我在操作一個繪圖程式或在一個繁重偵錯工作階段中間遇見同樣的一個2秒鐘等待,我可能變得有點不安。
Amazon是一短暫應用程式,eBay和Google以及大多數的非常大型的公用的基於web的應用程式也是這樣的程式。自從出現互連網後,權威專家們已經預言了在基於Web的解決方案的衝擊下傳統型的案頭辦公室套件的歸宿。然而,10年過去了,它還沒有發生。基於Web頁面的解決方案對於短暫的使用已經足夠了但是對於長期的使用卻不夠。
六、忘卻Web
幸好,現代web瀏覽器相似於原來的針對遠程文檔伺服器的用戶端理想-這極相近於瑞士軍刀相似於一種過時的電石狩獵工具。在沖向建立最引入注目的瀏覽體驗中,互動式小發明,指令碼語言和外掛程式都將/正在猶豫不決中關門。
可以把Ajax看作一個針對於瀏覽器戰爭中被誤解的行為不正常的孩子的康複中心。通過提供一些指導和一個可在其中操作的架構,我們能把JavaScript轉換成互連網中的一個有用的模型成員,它能夠提高一個web應用程式的實用性並且在該過程中不會激怒使用者或給瀏覽器顯示需求量等垃圾資訊。為此,有一些成熟的、易於理解的工具可用來協助我們。設計模式就是這樣一種工具-常用於我們的工作中並且在本文中多次參考。
引入一種新技術是一個技術的和社會的過程。一旦該技術出現了,人們就需要弄明白該用它來幹些什麼,並且第一步常常是使用它,似乎它是一種原有技術且更為熟悉。因此,早期的單車被當作是木馬並且沿著地面推著人的腳來騎。隨著這種技術為更廣多的使用者所認識,又一批革新者將發現使用這種技術的一些新的方法-添加了改進如踏腳板,制動閘,齒輪和充氣輪胎。隨著每次改進,單車變得越來越不象馬了(圖10)。
相同的過程也適用於web技術的發展。Ajax背後的技術能夠把web頁面轉換成某種相當新的東西。為了從根本上理解Ajax技術的潛力,我們必須放開web頁面的概念,並且在這樣做時,要忘卻很多以前我們所做的許多假設。在過去很短的幾個月間由於Ajax一詞的出現,以前我們所用的很多技術都要被拋棄了。