作者 周海汉 http://spaces.msn.com
AJAX最近好像很热,占据了各大技术版面的显要位置。让我等做技术的人人心惶惶,担心落伍。对新技术总要了解一下吧,于是就诚惶诚恐的找了一些介绍来,结果发现AJAX不过如此。不由生出一种上当受骗的怨恨来,原来AJAX就是一砣屎,怎么逐臭之夫如此之多?
一看AJAX这个名字,的确是很让人敬仰的。学英语学这么多年,从未见过。乍一看,以为是Java相关的技术。Java由于各开源组织各自为政,今天一个新概念,明天一个新框架,本就让人疲于奔命了。Sun公司不能强势整合资源,反倒是为他人做嫁衣裳。的确有些让人失望。如果AJAX是类似的东西,也就是多一个不多,少一个不少。为何众位英雄纷纷折腰,好像不用AJAX技术就没法活下去似的呢?
带这这种疑问,我用了5分钟时间去了解一下。原来所谓的AJAX,是Asynchronous JavaScript and XML的缩写,翻译成中文就是异步JavaScript和XML。提出这概念的是Jesse James Garrett。此人名字太长,我将其简写为JJG。其思想倒是很明白,就是说一些东西应该在客户端完成,没必要提交到服务器,耗费CPU,耗费带宽,耗费时间。可是这思想有一点新鲜吗?五年前,八年前,这种思想不早就有了吗?而且许多网站正是这样实践的。就拿最丑陋的ASP网站,一些输入都会在客户端检测输入的合法性的,否则利用SQL 语句注入漏洞就会黑了他的网站。
那JJG提出这个AJAX比其他的技术很有优势吗?我看也未必如此。想起来倒是很轻巧,可是Javascript是那样好弄的?出了点问题就会被折磨至死。因此,一般来说,AJAX不宜用于太复杂的地方。否则不说维护成本会上涨,单说若干年后,重新看那些代码,就会被活活气死。接手的人都会骂:谁写了这一堆垃圾,让老子来改,无异于要将一团纠结的乱麻理顺。一旦想改改,往往牵一发而动全身,要上穷碧落下黄泉,才能确认改好了。
这东西,比如客户端的校验,dotnet不就做得很好吗?不用写什么Javascript代码,简单的填一个属性就行了。复杂一点的写个正则表达式也搞定了。比所谓的AJAX完美得多。
有人看到Google 的maps用了所谓的AJAX,就不得了了。问题是就算是头猪都会想到用客户端脚本来控制地图。这种应用是很适合这种思想,JJG不提出AJAX,Google照样这样做。值得大惊小怪吗?值得做个网站就要赶这个AJAX的时髦吗?跟毛泽东当年批评党八股一样,“言必称希腊”,不扯上AJAX就浑身不自在?
外国鬼子放个屁都是香的,动动脑子再吹喇叭抬轿吧。