ajax|ajax架構 從年初到現在,AJAX之風預演愈烈,尤其是在國內,大多是一片叫好的聲音。目前好像很多人都在搞基於AJAX的架構,國外也有一些都已經發布。對於這種一直都存在技術,Google、微軟一造勢,大家的熱度好像有點過了頭。看來現在咱們這些程式員真的都是些追星族啊!
難到AJAX真的就那麼優秀,值得提升到架構的高度,讓系統UI端圍著它轉?單純從AJAX本身來說,其最主要不過就是解決在網頁上一個無重新整理擷取資料的問題,再加上減少了資料的傳輸量,將資料解析的工作推到了用戶端,的確能解決很多傳統的問題,很方便的實現一些動態效果。然而,要圍繞AJAX建立一個架構,通過AJAX完成UI端絕大部分內容的展現,我個人認為卻是欠妥。現在很多人在網站上說,AJAX多多成熟,能達到多好多好的效果,但是問題是,AJAX技術本身成熟,但AJAX架構卻是十分的不成熟。
筆者前一段一直在參與一個國外知名大公司的一個產品的開發,這套系統好幾年前就開始做了,系統的UI很多是基於AJAX的,對AJAX的應用可謂登峰造極(當然,那個時候肯定還沒有AJAX這個名詞),其介面的可操作行幾乎可與案頭系統媲美。這系統有一個強大的AJAX架構,光是相關基礎JS檔案就是數十個,整個UI基於Javascript事件驅動,資料由XMLHttp擷取。整個方案看上去的確很棒,或許正是現在很多人想要實現的。但實際情況是如何呢?效果是實現了,程式開發與測試、維護的效率則是大大的下降了。開發就不說了,前期投入巨大,系統複雜性劇增,程式也只能用IE訪問。測試的時候這邊 AJAX的javascript的bug滿天飛,那邊調試這種錯誤極不方便,沒有好的JS的調試器,更看不到實際輸出的html代碼。維護那就糟糕,加個新功能,JSP檔案、標籤、JS、後台類全要過一遍。或許正是這些不易克服的問題,我看到在最近開發的配套軟體裡,就基本沒有用什麼AJAX了。
大公司的嘗試和經驗,或許能給大家一些啟示。說到底,所有的技術都是有利有弊的,AJAX也是一樣。我個人認為AJAX 最適合的就是Google Map這種網上地圖系統,展現方案相對比較單一,又非常的需要無重新整理的擷取資料。對於那些業務比較多,展現風格非常多樣的業務系統,萬萬不可腦子一熱,真的要用什麼AJAX架構,到頭了只回為了一點無謂的效果砸了自己的腳。
最後強調一下,AJAX是個好東西,在項目裡用它來實現一些輔助效果(最傳統的比如使用者輸入資料時即時的驗證,給出相關提示)即快捷又神奇,但過度使用很容易讓自己系統陷入麻煩之中,一定要謹慎!此外目前公布出來的所謂的那些AJAX架構大多都是實現一個Form或者一部分頁面的無重新整理取數,根本談不上什麼Web架構,目前沒必要抱太大的希望。最近down了幾個開源的ajax的東西看了看,覺得對一般開發人員來說,ajaxtags (http://sourceforge.net/projects/ajaxtags/) 是個不錯的東東,簡單易懂,可以仿照它的標籤做一些自己的實現,值得看一看。
原文地址:http://www.blogjava.net/weidy/archive/2005/11/25/21451.html
- Ajax: 一個建立Web應用的新途徑
- Ajax的錯誤處理機制探討(2)
- Ajax的錯誤處理機制探討(1)
- 初次體驗.NET Ajax無重新整理技術
- Rails系統中的AJAX開發技術簡析(4)