ajax
關於是否AJAX會取代案頭應用的討論漸漸熱烈起來,針鋒相對的兩大陣營也開始形成。開門見山,在這篇文章裡要展現的我的信念和論點是:AJAX不大可能會取代案頭應用,但是它會催生一個新型的軟體應用模式;這種新型的軟體應用模式極有可能是開發工具、協作工具和商業應用。一些應用可能根本不會在案頭系統上看到——雖然很多的應用不大可能很快就退出曆史的舞台、它們需要隨時滿足案頭系統的要求。我認為軟體的下一場革命不會像出埃及記那樣的完全拋棄案頭,而是一場中等的各種模式的重新置放和組合,通過適應外界的意圖來達到軟體工業的繁榮。
像其他的案頭應用一樣,基於AJAX的WEB應用會跟隨你左右。我們中的大多數人最起碼有一個朋友,他週遊世界,給你留下HOTMAIL或者YAHOO MAIL的帳號以供你聯絡。實際上,這些基於瀏覽器的EMAIL介面有助於我們迅速的採用EMAIL作為個人應用。這些天來,使用傳統的HMTL介面的商業級EMAIL應用不再出現了。Outlook Web Access (OWA)(雖然有一個精彩的AJAX介面)由於一些原因沒有真正流行起來,但是GMAIL和Zimbra正在浮出水面,而且Zimbra準備取代Outlook和Exchange兩者,它發布完全基於瀏覽器的UI。而對於微軟來說,他們主動地發布了一個全新的基於AAJAX的EAMIL用戶端,如果這個用戶端加入了OWA的一些功能,那麼它將比HOTMAIL更好用。如果你看看CRM的世界,你會發現看起來WEB應用已經取代了案頭應用,Salesforce.com是一個明顯的例子,而基於WEB瀏覽器的MS CRM已經發布了好幾年。
那些地方基於AJAX的WEB應用會取代案頭應用?
在那些即時和共用資訊是首要條件的應用中,基於AJAX的WEB應用是一個合理的選擇,這些應用程式套件括:後勤、會計和CRM系統。在一個共用檔案系統中以路由EXCEL表單作為一個分布式定價和客戶管理的方法將成為曆史。在現代商業中,及時的商務資料是一個關鍵的組成部分,而WEB應用是天然的以資料為中心的系統。AJAX恰恰能做到這樣一個應用系統的UI,這個UI不會導致使用者在點擊滑鼠以後因為漫長的等待頁面重新整理而引起厭倦情緒。
依賴WEB服務和全新的資料來源如整合多種巨型資料來源的服務對應的應用仍然是有用的。同樣,許多基於面向服務的架構(SOA)的企業系統將極大的從分布式和可用性上受益於AJAX。
基於瀏覽器的分布式的富用戶端能降低每個終端的許可費用,例如企業報告系統。不久前,一個來自一個主要的SOA的替工商的CTO向我諮詢一個基於AJAX的UI該怎樣定價的問題,簡單的回答是它不可能和以前的C/S模式的厚用戶端一樣定價。一些軟體開發商找到了新的軟體許可的方法,這種方法沒有降低客戶對富用戶端的、WEB路由的和他們滿意的軟體的要求,這種現實將導致更多的軟體向AJAX轉移。
很明顯,由於應用系統仍然通過WEB和WEB瀏覽器發布,那些所有的按需軟體、軟體服務和服務提供者的優點依然存在。拋棄那些如上所述的基於瀏覽器的應用的優點是愚蠢的浪費時間的行為;然而,認識到AJAX使基於瀏覽器的WEB應用有高得多的可用性是很重要的。這種可用性方面的優點可以根據在操作更快的使用者介面時的省時而感覺得到。Alexei White在他的文章Measuring the Benefits of Ajax中探討了這方面的主題。由於這些原因,AJAX在那些需要使用者重複性的操作大量資料的任務的線上系統中會成為一個贏家,想想那些話務中心和金融機構吧。以下情境:你有大量的重複任務、應用和大量的資訊處理工人,是一個應用基於AJAX的WEB應用的一個成熟時機。
那些隨著時間的改變需要修改和改變的應用也可以從AJAX技術中獲益。使用者往往沒有往新的應用上遷移的意願。AJAX的發展會增加那些基於HTML介面或者擁有SOA架構的應用。對於Team Dev來說,隨著時間的增加而增加可用性是非常有誘惑力的。
另一個AJAX會贏的地方是這樣的一些商業系統,在那裡,人們需要大量的、遠遠超過WEB瀏覽器的地理的發布和支援,並且網路連接是非常昂費的。
哪些地方案頭系統依然是王者?
看看哪些地方案頭系統不會被富WEB應用取代是很重要的,即使是最狂熱的AJAX佈道者也會告訴你,應用這種技術只能在一定的範圍。讓我們看看AJAX不能做得非常好的一些事情:
.瀏覽器因素:增加按鈕、工具列、書籤、表徵圖,改變瀏覽器行為。
.本地檔案訪問:在使用者的硬體驅動上讀寫檔案。
.語音播放:音樂和聲音。
.富圖形:提供附圖形和它們的動態變化。(這個問題由於一些瀏覽器引入了SVG而逐漸改變,但仍然無法與案頭系統抗衡)
.鍵盤快速鍵:提供一個大範圍的鍵盤快速鍵並且避免他們與瀏覽器的快速鍵相抵觸。
.硬體的訪問:從諸如麥克風、掃描器和遊戲手柄之類的儀器的硬體輸入;輸出到諸如印表機和其他攜帶型裝置等硬體。
.可擴充的通訊:從一個客戶機到遠處僅僅一個伺服器之間的通訊,使用的協議不僅僅是簡單的、古老的HTTP。
.與作業系統的互動:捕捉如關閉、開始這樣的事件;改變參數;彈出警告;讀取硬體資訊。
當然,AJAX不可使用視訊或者音頻,所以視頻會議、VOIP和富媒體應用被排除在外。但是,增加FLASH到UI技術的話,富媒體就能夠被整合到AJAX介面上去。同樣,所有的需要和處理器和儲存空間互動的應用對於AJAX來說都是不適合使用的。對我們來說需要一段長時間才能看到在WEB瀏覽器上有這樣的應用:視頻編輯、影像處理和視頻遊戲。我不認為我們將看到人們玩使用JAVASCRIPT設計的Quake類型的第一人射擊遊戲,這毫無意思。
哪裡我們將看到案頭系統從WEB系統有優勢?
案頭應用世界將從WEB服務和SOA架構中獲益匪淺(事實上已經獲益了)我們將看到更多的這兩個世界的整合。我們已經看到案頭應用被網路如iTunes強烈的向富內容推進。案頭應用將要整合線上的、基於AJAX的服務,如Live.com和MS Office。
根據新應用(基於WEB)的採用比率,AJAX成為優勝者。沒有其他技術遇到的障礙會比你採用瀏覽器和網路連接遇到的小。而且許多AJAX應用會獲得網路的益處遠遠比經過最佳化的用戶端系統多。
哪裡AJAX會產生一個新的服務機會?
看看GOOGLE地圖吧,沒有使用者能在他們的本地案頭系統裡儲存所有的映射、映像和商業/地址清單資料。更進一步的概念是mashups,這個網站或者網路應用無縫的將多個來源的內容組合成一個整合的體驗。如果每一次使用者想合并不同的資料包的時候,他們都不得不安裝一個外掛程式或別的什麼,那麼這個網站將無法工作。即使一個用戶端應用能得到資料,它也不能保持資料的更新象一個以網路為中心應用那麼容易。
協作將要結合到應用裡面去,這是以前沒有過的。像Writely這樣的網站一旦被快速採用,將改變我們所認為的辦公類型的應用的模式。從一開始,所有的應用有一個共同的平台——瀏覽器,說相同的語言(XML、HTML等等)。這意味著這些小應用隨著發展將更加容易的被整合到一起。目前,微軟的Office的各組件已經被很好的整合到了一起,如果你使用SharePoint的話,它將進行非常完美的協同工作。然而,這依賴於在每一個用戶端安裝大量的軟體,並且伺服器架構有很好的擴充性來匯入它們。但是,WEB應用能提高這種體驗而AJAX能使這些WEB應用更加可用。
使用基於網路的、結合了富AJAX的使用者介面和即時協作的能力的資料服務的功能,應用將被永遠的改變了。現在的文檔和資料包多是一個變化著的內容,而不是一個靜止的視圖或頁面。
結論
未來的軟體看起來會是什麼模樣?今天看來,占卜的水晶球還是模糊的,當然,它其實永遠是模糊的。但是我想一個或大或小的變化正在我們中間發生。我們清楚地看到WEB應用被大量的採用,而這種大量採用得益於AJAX的應用。站在今天的起點上,通過開發社區持續不斷的共同努力,我們會使AJAX取得一個主要的進步。我們現在僅僅看到冰山的一角。然而,我也認為案頭應用的勢力仍然將在應用中佔有一席之地,而且事實上可能永遠不會消失。
索引
Michael Mahemoff's Blog and Podcast.
關於作者
Andre Charland從事Internet軟體開始超過十年之久,他是eBusiness Applications (www.ebusinessapps.com)公司的主席和建立者之一。他和Dave Johnson在1998年建立了該公司。他主要的經驗在可用性、市場、專案管理和基於構件的軟體開發。所受教育包括:在Vancouver, BC的Simon Fraser University,他在那裡讀電腦科學和工商管理。他作為開發人員、管理者和架構師等不同身份有上百個Internet項目的經驗。
原文連結
http://www.developer.com/java/web/article.php/3574116
- Ajax: 一個建立Web應用的新途徑
- Ajax的錯誤處理機制探討(2)
- Ajax的錯誤處理機制探討(1)
- 初次體驗.NET Ajax無重新整理技術
- Rails系統中的AJAX開發技術簡析(4)