最近觉得Ajax很流行,Google了一下,发现了这个文章,大家能不能说一下自己的看法?罪之一:对搜索引擎的支持不好这其实更像一个大大的讽刺,AJAX的鼻祖是Google,但却对Google自己支持最不好了,GMail主界面除过Top和Bottom外没有一个链接就是最形象的讽刺了。虽然Mail本身是个私人的应用系统,但这个无链接的设计界面恰恰给AJAX开了个坏头。Flash也有同样有这个毛病。没有链接的web就像森林中迷路的羔羊,这句看似广告语,其实是web设计的根本原则。罪之二:编写复杂、容易出错javascript本是是个轻量级的小东西,现在被强迫重用起来,负担可想而知。javascript对OOP的支持很少,这就限制了javascript代码的可重用可封装等等,从Google Mpa还是其他一些应用中能看到的都是无数的<script src="..."></script>这样的文件包含,这些除了让程序员头昏的更快点,一点好处都没有。更可怕的是在javascript中竟然没有一款顺手的Debug软件,很多写js的老手到今天还是用最原始的alert("")来调试,splinetech JavaScript HTML Debugger 算是一个看起来还像个样子的调试器吧,可惜不是免费的,几十大刀让我这种穷人只能望而生叹了。罪之三:冗余代码更多了和上面说的差不多,层层包含js文件是AJAX的通病,再加上以往的很多服务端代码现在放到了客户端,所以每次打开一个页面会包含很多的无用的js文件也一同下载下来。虽然宽带越来越普及,但是减少代码冗余还是每个web设计者的必修课。罪之四:破坏了Web的原有标准什么叫破坏web标准?<span onclick="location.href='detail/';">点击查看全部</a>,这就是破坏了web标准。好好的A标签放着不用,偏要用span。这种例子很多,flickr中的标题单击后可以更改,这虽然(也包括我)是大家一致叫好觉得方便的设计,但同时这也是歧义了web元素本身的含义,物是人非这个词不知道用的合不合适?罪之五:缺少一个没有标准之争、没有back和history的浏览器哈哈,这句话语有点讽刺意义。现在的浏览器市场,不管是IE还是FireFox还是Opera等等。浏览器和浏览器之间的差异一直都是web设计者心中永远的痛,支持的css不一样,支持的客户端脚本不一样,有的竟然连客户端脚本的用法都有不同。这让程序员非常苦恼,最明显的就是调用xmlhttprequest了,req=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");这段创建xmlhttp对象的代码就是为了适应IE和非IE两天阵营的浏览器的经典例子。说是没有back和没有history的浏览器,这也是一个讽刺,主要是指在AJAX下点击链接是不Redirect页面,所以不存在后退和前进了,同样,没有后退和前进也就无存找浏览历史纪录了。back和history存在的根本就是url的改变,在AJAX下人们发现不改url也同样能达到内容改变这个酷酷的特点,何乐而不为呢?look http://www.dux2005.org/和http://www.zagodesign.com/,我承认这两个站确实做得非常棒,但除了酷酷的感觉外,毫无用处。罪之六:XML只是用来打幌子xml从诞生那天起就被一致看好,大有非xml不娶之势,我想Jesse James Garrett也是为了趋于流行才把xml强行加入ajax的吧。xml有一个致命的缺点,那就是加载的资源耗费,这好像是所有平台下xml的通病。google map虽然是Jesse James Garrett推荐的AJAX的品牌代言人,但是gmap并没有用xml,而是用了原生的javascript数组,我自己在用AJAX从服务端传回数据时也从来不用XML,因为它让我更繁琐让系统更慢。服务端首先要调用xml对要传输的数据进行封装,客户端得到数据后再调用xml进行解析,简直是画蛇添足。AJAX的一个重要特点是要身法轻盈,数据的传输尽量单一和简陋,如果确实需要传输大量复杂的数据,也应该通过多次调用传回。罪之七:世界这么大却找不到自己的家 AJAX适用于什么?能干什么?能带来什么?在网站上用AJAX那是笑话,除非像Google Map和Flickr这样的专业领域的网站外,普通网站根本没必要用这个技术;在庞大的企业应用市场估计还能有AJAX的一点容身之地,不过在MS、SUN不会看着AJAX这个野孩子来在他们的地盘上撒泼的,如果大家都用AJAX,那java给谁卖?.net给谁卖?所以AJAX在企业应用也不是长久之地。所以,AJAX现在找不到自己合适的位置是个很大的尴尬。疑病乱投医,最近把AJAX的矛头指向Flash和Applet就是一个例子。当然,我也不是要把AJAX扁的一无是处,我本人就非常喜欢这门技术,它能让web设计者的眼球更加宽广,让一些大胆的设计成为现实,但是我也会很冷静的小心翼翼的利用这个利器,利器虽好,一不留神刺伤的是自己。

解决方案 »

  1.   

    ajax只是一种技术,关键在于如何使用它,没必要人云亦云,
    就好像使用板子的地方没必要用改锥,
    技术无罪,关键看人
      

  2.   

    AJAX我正在想学,了解一点儿.我学它的目的只是作为在项目中的辅助.
    取其优点补ASP.NET的不足
      

  3.   

    我觉得ajax流行的主要原因还是因为很多人对javascript不熟悉,
    应用ajax的场合本来就不多,
    而且这样场的大多数情况下(比如做无刷联动下拉框)用javascript实现也不会很复杂.
    过分使用ajax本身就不是个好习惯
      

  4.   

    这篇文章曾被很多人驳的体无完肤很明显其作者在js方面水平非常有限,更不要说ajax了
      

  5.   

    高交互性或许要等下一代www协议才能真正用的舒服。那时再看ajax会觉得这东西不可思议的烦。就像java刚出来时使用很多可笑的“优化”方法提高效率。
      

  6.   

    同意Sunmast(速马/本命年/Happy New Year) 
    楼主还可以找到更多的专批这篇文章的文章;
    ajax涉及的技术其实已经存在了N年,只不过是现在有人给它起了个响亮地名字并引起了大家的注意;
    所以,它也不是‘神迹’,不过这篇文章显然是‘强加之罪’了
      

  7.   

    /* 在庞大的企业应用市场估计还能有AJAX的一点容身之地,不过在MS、SUN不会看着AJAX这个野孩子来在他们的地盘上撒泼的,如果大家都用AJAX,那java给谁卖?.net给谁卖?所以AJAX在企业应用也不是长久之地。 */这一段大有问题,ajax和.net、JAVA有什么冲突呀?
      

  8.   

    AJAX不是新技术,四年前做级联下拉框的时间就用过这种方法,只是到现在才知道这就是AJAX
      

  9.   

    大家可以在 google 或者 baidu 里面搜索一下 “AJAX的七宗罪”你会看到有好多的网页。其中html的页面居多。我不知道大家对于搜索引擎的威力的感觉怎样。有的时候一个网站是很需要被搜索引擎搜索到的。
      

  10.   

    AJAX 倚重于客户端脚本,楼主,你应该到 JavaScript/VBScript 版块去讨论而不是在这个版块里。照楼主的思路 asp.net 的 postback 更是恶心了不是?
      

  11.   

    我在 http://community.csdn.net/Expert/topic/4516/4516253.xml?temp=.8016779 上放了一个小程序,这不过是一个应用系统中百分之一的工作量。实际上,ajax用在那些做浏览类静态页面的人的手里是个很好的东西(这些人基本上只用静态html+css+javascript),用在做应用程序的人手里是“拎个大锤见到钉子就砸一砸”的做法(这些人基本上依赖后台ui开发技术,因此不愿意彻底破坏面向对象技术架构)。
      

  12.   

    如果你有合适的工具对付钉子,使用最简单有效的在asp.net入门书上就有的方法,开发应用程序就行了。如果尚未对钉子有正确的观点,很容易挥舞起ajax大锤。
      

  13.   

    我觉得以上说的7宗罪是站在门户网站的角度来说的,如果换个角度,比如做企业服务应用软件b/s版(特别是用asp.net做的),我反而认为是7个优点.罪之一:对搜索引擎的支持不好.(企业服务应用软件b/s版是用企业用,不需要理会搜索引擎)
    罪之四:破坏了Web的原有标准.(能用就行,这么学究干嘛)
    罪之五:缺少一个没有标准之争、没有back和history的浏览器(企业服务应用软件b/s版客户端(特别是用asp.net做的)基本都是IE)
    ------------------------------------------
    上面三宗罪就不适用于企业服务应用软件b/s版,罪之二:编写复杂、容易出错
    罪之三:冗余代码更多了
    上面两宗罪,如果是使用ajax.net和microsoft的atlas就大大解决了这两个问题.罪之六:XML只是用来打幌子
    我发现企业服务应用软件b/s版(不论是否用asp.net做的),只要上点规模,使用大量xml是很常见的事情.罪之七:世界这么大却找不到自己的家 
    不同意,起码现在microsoft就出了个atlas.古诗有云:"横看成岭侧成峰",换个角度看,我觉得这七宗都不是罪
      

  14.   

    一看就知道作者根本不了解ajax