然而我們大多數人知道,其實在AJAX這個術語誕生前,這項技術的發展就已經為人們所熟知了。之所以AJAX的思想能迅速占據我們的頭腦,因為它向我們指出了一個重要的新開發方向,AJAX技術可以說到了爆發的時間。強大功能的浏覽器、高速帶寬的網絡連接、在線軟件的趨勢和開發工具的發展,這一切注定了AJAX的流行,但是在這些榮譽的光環背後關於AJax的討論或爭論也一直沒有停止過。
一直以來,web開發社區關於Ajax方方面面的事情一直在爭論不體,包括它的強大和不足、合適的應用和不可避免的缺陷等。我想我也應該分享一下我的觀點,對於過去十八個月裡讓Web和浏覽器煥發生機的AJAX技術,談一下我的看法。AJax的確幫助我們走向了下一代主流軟件平台,它在創建個人或商業應用等方面,已經超越了傳統的軟件開發平台,以下僅僅是我的個人觀點。
1、 不為浏覽器而生的AJax
如果你是一個網絡高手,你對Ajax一定不會陌生,從先前默默無聞到現在火爆發展,不可不稱為這是一個奇跡,Ajax在五年前並沒有向今天這樣讓人們所熟知,因為他不並是為浏覽器而生的一種技術,AJax低效的代碼編寫方式,同時也沒有強大的第三方開發工具支持,要想設計出清晰的JavaScript軟件,不經過嚴格的訓練和努力是無法實現的,而且在不同的浏覽器裡調試AJax,是一件非常令人頭疼的事情。
2、量身訂做自已的Web服務需求
我一直認為AJax要開發許多新的Web服務,來滿足應用程序數據和後端存儲的需要。實際上,對於那些沒有正規的Web服務架構的服務終端項目,更傾向於使用Html或簡單的傳統的HTTP POST。這樣就使得人們可以非常容易的轉向Ajax開發,可以在後端輕松的重用已經存在的HTTP服務,而不是轉向復雜的SOAP或REST/WOA等。盡管這可能導致體系結構的混亂,可能會對日後帶來一些麻煩,但它的確可以讓人們非常輕松的轉向AJax開發提供條件。
3、AJax比傳統Web設計和開發更棘手
Html界面約定的喪失性、隱藏或潛在功能的無限制性、編程創建頁面元素非聲明性、以及其他一些Ajax的內在特性,這些特性都與傳統的Web設計和開發方式背道而弛,AJax並且要求Web設計者必須對DOM、Javascript和CSS的技術有相當的功底,對於一個傳統的Web開發者來說還沒有一條更便捷的路可以選擇,同時也沒有一款能夠讓開發變簡單的開發工具,我們期待AJax能夠在web開發中更易懂、更高效。
4、AJax工具和組件仍在不斷出現,現今還沒有明顯的領先者。
AJax工具和組件滿天飛,不像Eclipse一枝獨秀,統領全雄,雖然Dojo在這個領域有很好的口碑,但這些成績還是遠遠不夠的。例如,Dojo框架目前的版本依然是0.3版。而且緊隨其後的種種工具,框架和組件庫還有很多,其優點和Dojo不相上下。Dojo的優勢還不名顯,開發人員面對如此多的選擇往往是投其所好,所以在工具和組件方面還沒有絕對的領先者可供選擇。
5、優秀的AJax 程序員很難找。
有人說曾經說過一個優秀的Java開發人員好找,但是一個優秀的Ajax人才,卻是比登天還難,雖然此語有些太過,但是我們不難看出,要建造一個復雜的AJax應用要遠比Web設計技能難得多,而且很多有經驗的開發人員都不太喜歡JavaScript編程和調試,這種情況自然就形成了AJax優秀人才的缺少。
6、必須積極地對付浏覽器模型對AJax的限制。
AJax技術並非web開發完美結合的產物,它有幾個致命的弱點,一個是它會違反現有的Web模型,譬如,加書簽,後退按鈕等等。另外,Ajax也缺乏桌面軟件的的很多強處,譬如能離線運行,訪問本地硬盤存儲等,但Flash 的本地存儲和即將發行的Apollo平台能應付這類問題,AJax要想再次成為眾的焦點,解決上述問題刻不容緩。
7、AJax 只是成功RIA策略的一個因素。
如果你想讓Ajax實現更多的在線功能,那麼你必須將類似Flex,OpenLaszlo,以及WPF/E等這樣的RIA平台放在考慮范圍之內,然而Ajax對此幾乎無能為力。然而Ajax並未停止前進的腳步,特別是在後端服務器向服務器端推送、Web服務和企業環境的支持等,這也是AJax在RIA策略上的成功的一個因素。
當然,軟件項目應該知道的事情還有很多,還有許多其他的事情,以上是我認為比較重要的事情。受到全球面向服務價格體系增長的影響,在線AJAX組件正在不斷的出現,例如Google Maps等,,Ajax的技術也在不斷理新,道瓊斯新聞曾報道IBM、Google、雅虎、甲骨文等IT巨頭聯手支持Open Ajax計劃。IBM、Google、雅虎、甲骨文和BEA系統等許多高科技公司宣布共同支持一個開源軟件計劃,旨在推廣一種名為“AJax”的新興的web開發技術,有了這些IT大享們的加入,解決上述七個問題應該指日可待。