關(guān)于是否AJAX會(huì )取代桌面應用的討論漸漸熱烈起來(lái),針?shù)h相對的兩大陣營(yíng)也開(kāi)始形成。開(kāi)門(mén)見(jiàn)山,在這篇文章里要展現的我的信念和論點(diǎn)是:AJAX不大可能會(huì )取代桌面應用,但是它會(huì )催生一個(gè)新型的軟件應用模式;這種新型的軟件應用模式極有可能是開(kāi)發(fā)工具、協(xié)作工具和商業(yè)應用。一些應用可能根本不會(huì )在桌面系統上看到——雖然很多的應用不大可能很快就退出歷史的舞臺、它們需要隨時(shí)滿(mǎn)足桌面系統的要求。我認為軟件的下一場(chǎng)革命不會(huì )像出埃及記那樣的完全拋棄桌面,而是一場(chǎng)中等的各種模式的重新定位和組合,通過(guò)適應外界的意圖來(lái)達到軟件工業(yè)的繁榮。
像其他的桌面應用一樣,基于A(yíng)JAX的WEB應用會(huì )跟隨你左右。我們中的大多數人最起碼有一個(gè)朋友,他周游世界,給你留下HOTMAIL或者YAHOO MAIL的賬號以供你聯(lián)系。實(shí)際上,這些基于瀏覽器的EMAIL界面有助于我們迅速的采用EMAIL作為個(gè)人應用。這些天來(lái),使用傳統的HMTL界面的商業(yè)級EMAIL應用不再出現了。Outlook Web Access (OWA)(雖然有一個(gè)精彩的AJAX界面)由于一些原因沒(méi)有真正流行起來(lái),但是GMAIL和Zimbra正在浮出水面,而且Zimbra準備取代Outlook和Exchange兩者,它發(fā)布完全基于瀏覽器的UI。而對于微軟來(lái)說(shuō),他們主動(dòng)地發(fā)布了一個(gè)全新的基于A(yíng)AJAX的EAMIL客戶(hù)端,如果這個(gè)客戶(hù)端加入了OWA的一些功能,那么它將比HOTMAIL更好用。如果你看看CRM的世界,你會(huì )發(fā)現看起來(lái)WEB應用已經(jīng)取代了桌面應用,Salesforce.com是一個(gè)明顯的例子,而基于WEB瀏覽器的MS CRM已經(jīng)發(fā)布了好幾年。
那些地方基于A(yíng)JAX的WEB應用會(huì )取代桌面應用?
在那些實(shí)時(shí)和共享信息是首要條件的應用中,基于A(yíng)JAX的WEB應用是一個(gè)合理的選擇,這些應用包括:后勤、會(huì )計和CRM系統。在一個(gè)共享文件系統中以路由EXCEL表單作為一個(gè)分布式定價(jià)和客戶(hù)管理的方法將成為歷史。在現代商業(yè)中,及時(shí)的商務(wù)數據是一個(gè)關(guān)鍵的組成部分,而WEB應用是天然的以數據為中心的系統。AJAX恰恰能做到這樣一個(gè)應用系統的UI,這個(gè)UI不會(huì )導致用戶(hù)在點(diǎn)擊鼠標以后因為漫長(cháng)的等待頁(yè)面刷新而引起厭倦情緒。
依賴(lài)WEB服務(wù)和全新的數據源如整合多種巨型數據源的服務(wù)映射的應用仍然是有用的。同樣,許多基于面向服務(wù)的架構(SOA)的企業(yè)系統將極大的從分布式和可用性上受益于A(yíng)JAX。
基于瀏覽器的分布式的富客戶(hù)端能降低每個(gè)終端的許可費用,例如企業(yè)報告系統。不久前,一個(gè)來(lái)自一個(gè)主要的SOA的替工商的CTO向我咨詢(xún)一個(gè)基于A(yíng)JAX的UI該怎樣定價(jià)的問(wèn)題,簡(jiǎn)單的回答是它不可能和以前的C/S模式的厚客戶(hù)端一樣定價(jià)。一些軟件開(kāi)發(fā)商找到了新的軟件許可的方法,這種方法沒(méi)有降低客戶(hù)對富客戶(hù)端的、WEB路由的和他們滿(mǎn)意的軟件的要求,這種現實(shí)將導致更多的軟件向AJAX轉移。
很明顯,由于應用系統仍然通過(guò)WEB和WEB瀏覽器發(fā)布,那些所有的按需軟件、軟件服務(wù)和服務(wù)提供商的優(yōu)點(diǎn)依然存在。拋棄那些如上所述的基于瀏覽器的應用的優(yōu)點(diǎn)是愚蠢的浪費時(shí)間的行為;然而,認識到AJAX使基于瀏覽器的WEB應用有高得多的可用性是很重要的。這種可用性方面的優(yōu)點(diǎn)可以根據在操作更快的用戶(hù)接口時(shí)的省時(shí)而感覺(jué)得到。Alexei White在他的文章Measuring the Benefits of Ajax中探討了這方面的主題。由于這些原因,AJAX在那些需要用戶(hù)重復性的操作大量數據的任務(wù)的在線(xiàn)系統中會(huì )成為一個(gè)贏(yíng)家,想想那些呼叫中心和金融機構吧。以下場(chǎng)景:你有大量的重復任務(wù)、應用和大量的信息處理工人,是一個(gè)應用基于A(yíng)JAX的WEB應用的一個(gè)成熟時(shí)機。
那些隨著(zhù)時(shí)間的改變需要修改和改變的應用也可以從AJAX技術(shù)中獲益。用戶(hù)往往沒(méi)有往新的應用上遷移的意愿。AJAX的發(fā)展會(huì )增加那些基于HTML接口或者擁有SOA架構的應用。對于開(kāi)發(fā)團隊來(lái)說(shuō),隨著(zhù)時(shí)間的增加而增加可用性是非常有誘惑力的。
另一個(gè)AJAX會(huì )贏(yíng)的地方是這樣的一些商業(yè)系統,在那里,人們需要大量的、遠遠超過(guò)WEB瀏覽器的地理的發(fā)布和支持,并且網(wǎng)絡(luò )連接是非常昂費的。
哪些地方桌面系統依然是王者?
看看哪些地方桌面系統不會(huì )被富WEB應用取代是很重要的,即使是最狂熱的AJAX布道者也會(huì )告訴你,應用這種技術(shù)只能在一定的范圍。讓我們看看AJAX不能做得非常好的一些事情:
.瀏覽器因素:增加按鈕、工具欄、書(shū)簽、圖標,改變?yōu)g覽器行為。
.本地文件訪(fǎng)問(wèn):在用戶(hù)的硬件驅動(dòng)上讀寫(xiě)文件。
.語(yǔ)音播放:音樂(lè )和聲音。
.富圖形:提供附圖形和它們的動(dòng)態(tài)變化。(這個(gè)問(wèn)題由于一些瀏覽器引入了SVG而逐漸改變,但仍然無(wú)法與桌面系統抗衡)
.鍵盤(pán)快捷鍵:提供一個(gè)大范圍的鍵盤(pán)快捷鍵并且避免他們與瀏覽器的快捷鍵相抵觸。
.硬件的訪(fǎng)問(wèn):從諸如麥克風(fēng)、掃描儀和游戲手柄之類(lèi)的儀器的硬件輸入;輸出到諸如打印機和其他便攜式設備等硬件。
.可擴展的通訊:從一個(gè)客戶(hù)機到遠處僅僅一個(gè)服務(wù)器之間的通訊,使用的協(xié)議不僅僅是簡(jiǎn)單的、古老的HTTP。
.與操作系統的交互:捕捉如關(guān)閉、開(kāi)始這樣的事件;改變參數;彈出警告;讀取硬件信息。
當然,AJAX不支持視頻或者音頻,所以視頻會(huì )議、VOIP和富媒體應用被排除在外。但是,增加FLASH到UI技術(shù)的話(huà),富媒體就能夠被集成到AJAX接口上去。同樣,所有的需要和處理器和存儲器交互的應用對于A(yíng)JAX來(lái)說(shuō)都是不適合使用的。對我們來(lái)說(shuō)需要一段長(cháng)時(shí)間才能看到在WEB瀏覽器上有這樣的應用:視頻編輯、圖像處理和視頻游戲。我不認為我們將看到人們玩使用JAVASCRIPT設計的Quake類(lèi)型的第一人射擊游戲,這毫無(wú)意思。
哪里我們將看到桌面系統從WEB系統有優(yōu)勢?
桌面應用世界將從WEB服務(wù)和SOA架構中獲益匪淺(事實(shí)上已經(jīng)獲益了)我們將看到更多的這兩個(gè)世界的集成。我們已經(jīng)看到桌面應用被網(wǎng)絡(luò )如iTunes強烈的向富內容推進(jìn)。桌面應用將要集成在線(xiàn)的、基于A(yíng)JAX的服務(wù),如Live.com和MS Office。
根據新應用(基于WEB)的采用比率,AJAX成為優(yōu)勝者。沒(méi)有其他技術(shù)遇到的障礙會(huì )比你采用瀏覽器和網(wǎng)絡(luò )連接遇到的小。而且許多AJAX應用會(huì )獲得網(wǎng)絡(luò )的益處遠遠比經(jīng)過(guò)優(yōu)化的客戶(hù)端系統多。
哪里AJAX會(huì )產(chǎn)生一個(gè)新的服務(wù)機會(huì )?
看看GOOGLE地圖吧,沒(méi)有用戶(hù)能在他們的本地桌面系統里保存所有的映射、圖像和商業(yè)/地址清單數據。更進(jìn)一步的概念是mashups,這個(gè)網(wǎng)站或者網(wǎng)絡(luò )應用無(wú)縫的將多個(gè)來(lái)源的內容組合成一個(gè)集成的體驗。如果每一次用戶(hù)想合并不同的數據包的時(shí)候,他們都不得不安裝一個(gè)插件或別的什么,那么這個(gè)網(wǎng)站將無(wú)法工作。即使一個(gè)客戶(hù)端應用能得到數據,它也不能保持數據的更新象一個(gè)以網(wǎng)絡(luò )為中心應用那么容易。
協(xié)作將要結合到應用里面去,這是以前沒(méi)有過(guò)的。像Writely這樣的網(wǎng)站一旦被快速采用,將改變我們所認為的辦公類(lèi)型的應用的模式。從一開(kāi)始,所有的應用有一個(gè)共同的平臺——瀏覽器,說(shuō)相同的語(yǔ)言(XML、HTML等等)。這意味著(zhù)這些小應用隨著(zhù)發(fā)展將更加容易的被集成到一起。目前,微軟的Office的各組件已經(jīng)被很好的集成到了一起,如果你使用SharePoint的話(huà),它將進(jìn)行非常完美的協(xié)同工作。然而,這依賴(lài)于在每一個(gè)客戶(hù)端安裝大量的軟件,并且服務(wù)器框架有很好的擴展性來(lái)導入它們。但是,WEB應用能提高這種體驗而AJAX能使這些WEB應用更加可用。
使用基于網(wǎng)絡(luò )的、結合了富AJAX的用戶(hù)接口和實(shí)時(shí)協(xié)作的能力的數據服務(wù)的功能,應用將被永遠的改變了?,F在的文檔和數據包多是一個(gè)變化著(zhù)的內容,而不是一個(gè)靜止的視圖或頁(yè)面。
結論
未來(lái)的軟件看起來(lái)會(huì )是什么模樣?今天看來(lái),占卜的水晶球還是模糊的,當然,它其實(shí)永遠是模糊的。但是我想一個(gè)或大或小的變化正在我們中間發(fā)生。我們清楚地看到WEB應用被大量的采用,而這種大量采用得益于A(yíng)JAX的應用。站在今天的起點(diǎn)上,通過(guò)開(kāi)發(fā)社區持續不斷的共同努力,我們會(huì )使AJAX取得一個(gè)主要的進(jìn)步。我們現在僅僅看到冰山的一角。然而,我也認為桌面應用的勢力仍然將在應用中占有一席之地,而且事實(shí)上可能永遠不會(huì )消失。
索引
Michael Mahemoff‘s Blog and Podcast.
關(guān)于作者
Andre Charland從事Internet軟件開(kāi)始超過(guò)十年之久,他是eBusiness Applications (www.ebusinessapps.com)公司的主席和創(chuàng )建者之一。他和Dave Johnson在1998年創(chuàng )建了該公司。他主要的經(jīng)驗在可用性、市場(chǎng)、項目管理和基于構件的軟件開(kāi)發(fā)。所受教育包括:在Vancouver, BC的Simon Fraser University,他在那里讀計算機科學(xué)和工商管理。他作為開(kāi)發(fā)者、管理者和架構師等不同身份有上百個(gè)Internet項目的經(jīng)驗。
原文鏈接
http://www.developer.com/java/web/article.php/3574116
聯(lián)系客服