Ajax光環背後的隱患
最後更新:2018-12-04
來源:互聯網
上載者:User
自從Jesse James Garrett創造了Ajax這個名詞,到現在已經過去十八個月了,AJAX幾乎讓Web開發徹底改頭換面。在這一年半的時間裡,發生了很多事情,包括Web 2.0的熱炒,許多建立或使用富互連網技術公司的誕生或複蘇,還有真正動態化的線上軟體層出不窮。很明顯,AJAX這個名詞受到開發業界的廣歡迎,已經真正的走入到我們生活中,Web應用程式也達到前所未有的發展。
然而我們大多數人知道,其實在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大享們的加入,解決上述七個問題應該指日可待。