Santé

为明天干杯!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Ajax:新星?

Posted on 2005-07-01 14:36  smalldust  阅读(1749)  评论(14编辑  收藏  举报
今天下午,突然从我们的技术负责人那里收到一封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之类的东东吧。