現在說AJAX是目下最時髦的技術一點不假,當然也有人認為其中有很多炒作的成分;估計兩邊誰也不能說服誰。因此讓我們一起分析為什麼AJax在這個時候出現,以及它為什麼會繼續成長並且仍將徘徊一段時間。簡言之,我把它歸結為下面列舉的十個最主要的理由。
按數字順序是:
1. XAML,XUL,XForms...還未結束
2. 服務器技術不可知論者
3. Web 2.0
4. 業界領導們強烈支持采納
5. 與Flex和Flash良好共處
6. 很低的成本增加
7. 常規Web應用軟件的優點
8. 跨浏覽器和跨平台
9. 可用性和用戶體驗是第一位的
10. 上面的理由全部基於開放標准!
下面,詳細討論各部分相應細節:
1.開放標准
讓我們按逆序開始分析。AJAX是基於有眾多浏覽器和平台支持的開放標准的;這意味著,你不必懼怕供應商的鎖定問題。事實上,大多數組成AJAX的技術已經被廣泛地使用多年了。這些並不是一些只能在大多數時間才正常工作的熱門的、新的、未經測試的技術。對於大多數用戶和企業來說,現在的浏覽器是一個值得信任的應用程序平台;這已經不再是五年前的情形了。對於AJax來說,其轉折點之一是Mozilla 1.0的發行-其中,Firefox基於並且支持XML HTTP請求對象。這就允許數據的異步傳送-而這對IE來說,已經有數年的可能性了。這一支持以及Firefox的迅速采納確實幫助人們認識到,實現跨浏覽器的豐富的互聯網應用軟件是完全可能的。
1)JavaScript或ECMA Script(標准的ECM A-262):關於Javascript,值得注意的一件事情是,它經歷了很長一段時間才成為一種被人接受的技術。有相當長一段時間,許多公司都啟用了一種"非JavaScript"策略!幸運的是,這一切正在快速地改變著。請見http://www.ecma-international.org/publications/standards/Ecma-262.htm。
2)XML是廣泛使用的標准,詳見W3C的http://www.w3.org/XML/。
3)Html:http://www.w3.org/MarkUp/。
4)CSS:http://www.w3.org/Style/CSS/。
5)XML HTTP請求對象被Internet Explorer、基於Mozilla的Safari和Opera浏覽器所支持。
2.可用性
開發者和設計者開始意識到,用戶體驗不僅大大影響著市場的成功,而且還影響著所有者的成本開銷。基於AJAX應用軟件,例如Google Maps,比更傳統型如MapQuest的軟件的成功說明了,能夠提供更好的用戶體驗的產品更容易成功。現在,在使得Web應用軟件更為可用方面,AJax占據著領導地位。它允許頁面從服務器請求少量的信息而代之整個頁面。頁面的這種不斷更新消除了頁面刷新問題和自始至今一直折磨著Web應用軟件的緩慢響應問題。
人們意識到,他們需要體面的用戶接口並且願意在它上面投資。這裡的底線在於,如果用戶能夠讓事情做得快一些,那麼其中就存在價值問題,而不論該應用程序是一個內網應用程序還是一個公共的Web服務。
3.跨浏覽器和跨平台兼容性
IE和基於Mozilla的Firefox占據了當今浏覽器市場的大部分份額,而且是毫無爭議的最容易的基於之構建AJAX Web應用程序的浏覽器;但是現在,有可能在最現代Web浏覽器上構建基於AJAX的豐富的互聯網應用程序。這是AJax變得如此流行的一個重要原因。盡管許多開發者知道這在幾年前在Internet Explorer上也是可能的,但是因為供應商鎖定(或者說是技術壟斷)的原因,這一應用並沒有被挖掘出來。讓我們謝謝Mozilla和Firefox吧!
4.常規Web應用程序的優點
AJAX是今天Web應用軟件的臉面-而Web應用軟件比基於桌面的軟件也有明顯的優點。這些優點包括較低的發布成本、更容易的支持、更短的開發周期及不需要安裝,等等;上面這些僅是自從90年代後期以來使得商界和消費者采納基於Web應用軟件的部分優點(原因)。不過,AJax將只能幫助web應用軟件在客戶端方面更好和更為成功些。
5.增長的技巧、工具和技術升級
因為AJAX基於事實上的已經出現多年的標准,所以許多開發者至少都已開始探討這種用來構建AJax應用軟件的技術。這意味著,對於開發團隊來說,不需要特別陡的學習曲線就可以實現從Html和基於表單的應用程序到豐富的AJAX風格的應用程序的遷移。這還意味著,Web應用軟件開發團隊可以逐漸地把他們的用戶接口升級到AJax;它不要求大規模的升級和重寫他們的Web應用軟件。如果是從90年代後期以來在發布基於浏覽器的應用軟件方面做了相當大的投資的話,那麼能夠平衡現有系統並且能改進用戶體驗將是一件非常吸引人的事情。
6.使用Flex和Flash
大部分開發社區現在熱論著Flash和AJAX。在不同情況下,這兩種技術都有非常明顯的優缺點,但是在它們之間也存在大量的協同工作的機會。許多開發者和供應商已經意識到這一點,並且非常和諧的利用AJax和Flash技術開發了大量的偉大的軟件。當然,Macromedia公司也非常渴望看到這些技術能夠協同工作。
7.采納
為業界領導普遍采納AJax這一事實同時也證明了市場的接受和這一技術群組的有效性。每個人,包括Google、Yahoo、Amazon和Microsoft等等,都湧入了這股大軍中。應該說,是Google Maps真正吸引了web開發者們的注意。當人們開始分析Google怎麼能夠在浏覽器中沒有任何插件的情況下實現這樣一種令人難以置信的用戶體驗的時候,他們發現AJax這種潛在的技術。
當然,只有Google利用AJAX做了點什麼是不可能使得AJAX應用到主流企業中的。但是,如果你看一下例如eBusiness Applications(www.ebusinessaPPS.com)或Tibco(http://www.tibco.com)等AJAX開發公司的顧客列表,那麼你將看到全球500強企業,包括主要的金融機關、管理機構、航空部門和其它主要行業,都在采納AJAX,並且在"AJax"術語出現之前就已經這樣做了。
8.Web 2.0
愛它?恨它?Web 2.0運動正處於全面的搖擺之中,而且正改變著幾乎所有程序員、VC、商人和終端用戶等的思想。這就明確說明,AJAX技術將會被暫時采納;當這一炒作最終平靜下來的時候,人們將會有趣地看到所發生的一切。AJAX接口是許多應用軟件,如從BackPack到Google Maps的Web 2.0等等,的一個關鍵組件。很可能,這一炒作會幫助加速對於AJax的采納並且其可用性優點將使之應用到很多領域。Web 2.0的關鍵原則之一是,使Web成為一個應用程序開發的平台,而不僅僅是Web頁面的問題。高實用性和高交互性的用戶接口是任何應用程序平台的關鍵的部分。
9.AJax是服務器不可知論者
與AJax是浏覽器獨立的一樣,它也完美兼容於任何標准Web服務器和服務器端語言中。PHP,ASP,ASP.Net,Perl,JSP,Cold Fusion,等等-你可以自由選擇並著手構建。這大大幫助推動了AJax技術的應用,因為所有的web開發者都能使用並且在一個通用描述層上進行表達。
10.下一代Web RIA技術還沒有出現
今天用XUL構建應用程序是很偉大的事情;但是,因為它不能被90%的浏覽器所支持,所以在大多數情形下它還不能被認為是一種非常實際的解決方案。然而,AJax程序員應該密切關注例如XAML和XUL等技術的發展。毫無疑問,這些技術將更易於開發豐富的互聯網應用軟件,但是它們彼此相沖突並且還不存在相同的市場滲透或者動力。
AJAX對於改變當今已經存在的Web應用軟件的可用性方面是偉大的。然而,AJAX並不完美,它不是"火箭科學"並且許多開發者和技術公司在一直嘗試著研發更好的技術以用於RIA。事實是,AJAX已經出現並且被投入使用,它是跨浏覽器和跨平台的,並且用戶和開發者都喜歡它所能完成的功能。高度結構化的AJAX應用軟件,例如Google Maps,已經明確地出現在它們的領域並成為其中的領導者(誰還會再使用MapQuest?)。同樣,領先世界的全球500強企業正在使用AJAX並且甚至向社區回貢一些工具。業界已經普遍地同意內在的AJAX技術並且開始使用它們。不斷更新的豐富的互聯網應用軟件和一種在浏覽器技術方面的關鍵進步已經使得AJAX不僅是一個在開發者的工具包中的新工具,而且成為一種現象-正在改變著Web應用軟件的書寫方式。沒人能確定地說用什麼或者什麼時候AJAX會成為更為人們喜歡的豐富的互聯網應用軟件平台;但是,在隨後的幾年中會一直存在許多因素支持AJax。