今天下午,突然從我們的技術負責人那裡收到一封mail,信的內容寫到:
“請大家先看看這個連結(給出Google Map的URL)。這裡面採用了業界最新的Ajax技術,這個技術令當今世界的所有Web程式員為之一振”
“甚至有望打敗ASP.Net,打敗SmartClient的強大技術”
“我建議在我們的產品中也使用它”
我當時就感覺到很詫異:雖說最近幾個月沒有做和Web相關的工作,但是也不至於業界出了這麼耀眼的明星我卻什麼都不知道吧?仔細看了看他的描述,我更加納悶了:這不就是XmlHttp嗎?難道有什麼不同嗎?
具體到網上查了查,才發現是2月份Jesse James Garrett的一篇A New Approach to Web Applications引起的軒然大波。名詞是新名詞,到底跟XmlHttp有何不同?找了好久,也沒有找到,只見到網站介紹說,Ajax = XmlHttp + DHTML——可是現在的網站,還有幾個不是DHTML?再者說,無論XmlHttp,還是DHTML都不是新名詞啊!甚至DHTML早在6,7年前就有了。至於XmlHttp,我雖然不知道它出現在什麼時候,但是至少Windows 2000的MSXML2.6當中,就已經包含了。
的確,您要說,技術不以新舊論強弱,此話不假。想想看C語言就知道了。更何況,就算技術很弱了,但如果憑其元老地位和已經佔有的市場份額,還是不會輕易被“拉下馬”的——就像HTML,HTML4也是7,8年前的東西了,如今有哪個網站不是用HTML的呢?但是,對於一個6,7年前就有的技術,這麼多年沒有什麼大作為,突然有了這麼紅火的局面,怎能讓人放心呢?
更何況,XmlHttp技術是微軟的,微軟放著這麼強,這麼有市場的技術,若干年沒有張揚沒有宣傳,現在突然因為Google的強勢而興起,難道微軟是白癡嗎?
因此,被Ajax,或者被XmlHttp各種“大紅大紫”的訊息所誘惑的朋友,建議還是稍稍等等吧,不要被炒作沖昏了頭。
有一篇文章:《Ajax的七宗罪》,說的有些道理,供大家參考:
http://duduwolf.winzheng.com/post/115.asp
另,附上Dave Massy的《Ajax = DHTML + XmlHttp》供參考:
http://blogs.msdn.com/dmassy/archive/2005/03/20/399412.aspx
還有一篇說Ajax壞話的文章《Ajax: 99% Bad》,呵呵
http://www.johnniemanzari.com/archives/2005/05/ajax_99_bad.html
和一篇《Could Ajax Wash Away 'Smart Clients'? 》
http://www.microsoft-watch.com/article2/0,1995,1777009,00.asp?kc=MWRSS02129TX1K0000535
一點後話 寫完了之後,想了想,覺得還有些離這個話題稍遠的話。XmlHttp也好,Ajax也好,其目的都是在與能基於HTTP,HTML建立具有良好互動性的應用。 和傳統HTML的Web應用相比,傳統HTML通常只是在使用者提交、頁面轉移等等“大動作”時才向伺服器提交請求(當然用指令碼技術可以實現在按鍵、改變選項等“小動作”時也提交請求),但是歸根結底HTTP的協議決定了Web應用不可能擁有像Windows應用那樣的互動性。 注意這不是胖客戶瘦客戶的問題,Telnet的用戶端也不“胖”,卻一樣可以運行Mud之類的高互動性應用。 當然,HTTP協議當前的形式很適合網頁等應用,因為其減輕了伺服器的負擔——一個Mud伺服器上如果有一千人以上,那麼它將會難堪重負;可是一個HTTP伺服器則可以承受至少上萬、數十萬的訪問量。 因此,我覺得希望讓自己的應用具有高互動性的話,那麼還是放棄HTTP,採用Windows Form(當然,成本會提高很多);或者,等待MS的ClickOnce之類的東東吧。 |