嘟嘟老窝

上帝给了我一双黑色的眼睛,我却用它来翻白眼......

导航

« MSN桌面搜索试用手记 google ban了hao123.com »

AJAX的七宗罪

引子

2005.2.18,Jesse James Garrett 的一篇A New Approach to Web Applications引出了AJAX这个web界的新名词。加上新宠儿在降生下来就和足球名队阿贾克斯Google Suggest  Google Maps这些大腕息息相关,不想出名都难啊。但似乎人们给与AJAX的期望有点太高了,甚至有人提出了用AJAX取代Java Applet和Flash。不知Flickr是不是也听到这种呼声才把自己的Flash UI转向了普通的Javascript。AJAX是个伟大的东西,它是在不创造新技术的前提下诞生的一个标准,凭这一点就能招来大批的狂热追随者,AJAX看起来更像是杨过和小龙女练得玉女素心剑一样,分开来没有什么破坏力,但是二者合一就威力无比。

罪之一:对搜索引擎的支持不好

这其实更像一个大大的讽刺,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设计者的眼球更加宽广,让一些大胆的设计成为现实,但是我也会很冷静的小心翼翼的利用这个利器,利器虽好,一不留神刺伤的是自己。

PS:这篇文章是昨晚写的,今早却神奇般的从网上看见了一篇文章Ajax: 99% Bad,文章是针对2000年那片著名的Flash: 99% Bad 写的,其中的观点和我所说的七宗罪中的几宗相似。

  • 该日志的引用地址:
  • http://www.duduwolf.com/cmd.asp?act=tb&id=115
  • 也来侃侃AJAX(引用)
  • New Start
  • 我总是比较迟钝,对什么都不敏感,blog,wiki,web2.0,tags,都是在吵声大到震耳欲聋的时候才听到^^AJAX也是如此。 今天看了嘟嘟的AJAX的七宗罪,又看到了http://forum.javaeye.com/viewtopic.php?t=13844这篇自称客观的反驳嘟嘟的文章,觉得反驳没抓住重点,很片面! 就看看这条: Web 应用首先需要对于最终用户友好,然后才需要考虑对于搜索引擎友好。你使用 HTML FORM 提交的数据也是没有链接的,这些数据可以被搜索引擎搜索到吗?换句...
  • 2005-10-26 21:10:39
  • AJAX的七宗罪(引用)
  • 蝎子de网络生活
  • 引子2005.2.18,Jesse James Garrett 的一篇A New Approach to Web Applications引出了AJAX这个web界的新名词。加上新宠儿在降生下来就和足球名队阿贾克斯、Google Sugge..
  • 2005-12-9 12:43:15
  • AJAX壞處(引用)
  • Alex's Blog
  • AJAX,很早前聽過,一直沒去了解,今天突然想到,<br>看了一些評論和介...
  • 2006-3-3 1:20:12
  • ajax定义:搭建第一个ajax页面(引用)
  • 闲谈
  • <p>下面是google找到的结果,原文满天飞,就不写出处了。</p><p>ajax(Asynchronous JavaScript and XML)是结合了Java技术、XML以及JavaScript等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。 </p><p>Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使...
  • 2006-3-20 2:54:12
  • AJAX(引用)
  • ajax
  • AJAX<BR/>oBlog3.1 Created
  • 2006-3-26 21:10:20
  • 我对 Ajax 的看法(引用)
  • Gracecode.com
  • 又一个新的项目已经接近尾声,我就好比是经历了又一轮的 Javascript 和 PHP 方面的考试。由于其中 Ajax 方面的应用比较的多,纵观这个项目的从始至终,本人对于 Ajax 也有了一个全新的认识。

    在经历了没日没夜的开发所带来的“审美疲劳”,牢骚在所难免。首先,说说 Ajax 存在的一些问题。

    从原始目的上说,开发者使用 Ajax 是为了用户友好。但真的是如此吗?这让 Ajax 不得不面对客户端与服务器端的延迟问题。虽然有很多“欺骗”用户的办法,比如加一个会动的 gif 图片让用户...
  • 2008-1-14 22:54:12
  • 2.weekend | (home)
  • ajax 的鼻祖是 google? 要学会动脑子思考.
  • 2005-5-19 9:42:21
  • 3.duduwolf | (home)
  • 不是我说的,好像全世界在说ajax时都会第一个想到的就是Google Map和Google Suggest,还有GMail(准确的说GMail不属于AJAX,它只不过套了N多个iframe罢了),也因为Google再用,所以AJAX才会这么快的风靡全球,所以AJAX不是Goole提出来的但我还认为AJAX是因为Google才提倡并发扬光大的Starry
  • 2005-5-19 10:23:56
  • 4.ajax有罪?说点反对意见 | (home)
  • <p>&nbsp;刚刚看到</p><p><a target="_self" href="http://duduwolf.winzheng.com/post/115.asp">http://duduwolf.winzheng.com/post/115.asp</a><br />
    <br />
    说点反对意见。<br />
    <br />
    罪...
  • 2005-5-19 12:50:09
  • 6.marvey | (home)
  • ҵӦûǺܲģվЩʺ[EMAIL][/EMAIL]
  • 2005-5-19 14:12:13
  • 7.d | (home)
  • ajax不是野孩子,对微软来说更加不是,因为Outlook Web Access就有ajax的雏形.XMLHttpRequest也是微软率先实现的.
    Google Maps没有用XML?没有仔细研究过,不过看这个例子:
    http://www.engadget.com/entry/1234000917034960/
    应该是XML的.
    另外,我确实看不出ajax跟java/.net有啥冲突.
  • 2005-5-19 15:13:39
  • 8.duduwolf | (home)
  • 呵呵,楼上的你有所不知
    微软在推他的smart client + WebService
    去年三月MSDN就放出了这篇文章[URL=http://msdn.microsoft.com/vstudio/using/Columns/default.aspx?pull=/library/en-us/dnreal/html/realworld03232004.asp]《Back to the Future with Smart Clients》[/URL]。
    JAVA的我不甚了解,不过也知道sun也在推他的Java WebStart
    还有Marcromedia推出Flex也是为了能在企业市场上有所突破,可惜先天受到Flash的影响,Flex最多也是在[URL=http://mywallop.com/]Wallop[/URL]这样的专业web应用中。

    这一切都表明他们都看好了Rich Client,也许不久的将来,软件将回归Client/Server的模式。

    其实从奔四时代起,全球的各大软件商和用户都在提倡Rich Client,因为放着奔4CPU不用,1G的内存不用,上百G的硬盘不用,实在是一种浪费。
  • 2005-5-19 18:34:25
  • 9.duduwolf | (home)
  • 其实大家在关注AJAX的同时,也应该关注一下相近的技术:
    首推[URL=http://www.bindows.net/]Bindows[/URL],Bindows把javascript+XML用到了极致,它好像在告诉世人,只要有浏览器,一样能做出windowsTease
  • 2005-5-19 18:46:04
  • 11.Livid | (home)
  • AJAX 对于我而言,只是一个标签。

    我的即指即译(http://www.livid.cn/doc_view.php?doc_id=1335)在远程取数据的时候,也没有用 XML,因为 XMLHttpRequest 不能跨域。

    我用的是 Legacy JavaScript。
  • 2005-5-20 6:54:37
  • 12.Livid | (home)
  • 虽然可以通过 mod_rewrite + mod_proxy 实现跨域,但是那样将产生一些难以移植的解决方案。
  • 2005-5-20 6:58:39
  • 13.andy | (home)
  • AJAX其实不是什么新技术,以前用过它(比如用于表示一个集团内所有单位和人的目录树,如果小的话一次取出来就够了,大的话必须点击一个节点就动态取一次,这就用到XML和javascript)。所以,对于企业应用开发,简单的,成本最低的实现就是AJAX。如果有复杂的显示逻辑只能用别的方案,如flash,XUL,applet,甚至C/S结构的平台(德国人好这么干,嘿嘿)。ajax跟java/.net一个是前台显示,一个是后台数据提供,我觉得不存在冲突。
  • 2005-5-20 9:19:50
  • 14.hero | (home)
  • 我说你们真的很懂AJAX吗?还说AJAX的鼻祖是Google,不怕笑话?
  • 2005-5-20 9:51:56
  • 15.cathayan | (home)
  • 上面说得对,这东西本来就不再是WEB,起码不是原来的WEB了。
  • 2005-5-20 9:55:04
  • 16.iamawalrus | (home)
  • javascript是支持oop比较好的语言之一了.你对javascript比较缺乏了解
  • 2005-5-20 9:57:04
  • 17.lexrus | (home)
  • 看了"罪之一"我就知道没有必要往下看了, ajax 不是 google 搞的, 虽然 gmail 用了 ajax, 但它没有带坏头, 你用 lynx 之类的浏览器看一下就知道了.
  • 2005-5-20 10:39:59
  • 18.duduwolf | (home)
  • 我之所以说google是AJAX的鼻祖并不是说javascript和xml是google创造的,也不是说是google发现了并第一个使用ajax技术的。

    我的意思是说是google的map和suggest让世人真正的了解到了ajax的利害,从google开始ajax大行其道
  • 2005-5-20 11:55:23
  • 20.木先生 | (home)
  • 你没有考虑到一点,那就是gmail的作用是一个网络应用程序,也就是说,网络应用程序的UI不需要搜索引擎支持,不需要url历史纪录,只要能够很好的为使用者提供支持就好了。例如作一个BS结构的办公自动化软件。反过来说,如果是做一个网站,希望Google/百度好好的来搜索自己,那当然用传统的html更好的解决问题。至于你提到的Xml,我想这个问题也许是为了在Ajax结构的基础上为搜索引擎提供支持的一种渠道。
  • 2005-5-20 14:01:44
  • 21.jack.tang | (home)
  • <quote>但这个无链接的设计界面恰恰给AJAX开了个坏头。Flash也有同样有这个毛病。</quote>

    搜索引擎是可以解析出来的
  • 2005-5-21 11:40:59
  • 22.louyun | (home)
  • javascript对oop支持不好?????这几乎是我听过的最无知的话了
  • 2005-6-7 22:02:08
  • 23.steeven | (home)
  • lz看看nextapp的echo2就知道ajax可以多么的舒服了,根本不需要写js。
    都什么年代了,还要造轮子。

    ajax是今年的噱头,是底层框架设计者需要考虑的问题,大家还是等成熟后再来尝鲜吧,早恋总是痛苦的。。。

    web开发不仅仅是做门户网站,在企业应用中有很多繁杂的页面,利用echo这样的高层封装框架是不二选择
  • 2005-6-14 18:02:08
  • 24.chon | (home)
  • 从听说AJAX开始,我就一直搞不这东西是什么东西,好好的一个XMLHTTP要再裹上AJAX,不明白有什么意义。
    我想会不会AJAX不是一个实际东西(没有实际的成果),只是一种设计观念。
    我自己也用XMLHTTP写过很多东西。以XMLHTTP来看,对上面的那些罪宗觉得是作者在无理取闹。

    冤之一:对搜索引擎的支持不好
    这个好像跟搜索引擎扯不上关系吧。
    还有谁说WEB设计就一定要有超连接在里面啊。可能告诉我哪里有制定这样的标准啊?

    冤之二:编写复杂、容易出错
    javascript只是没有直接创建类的方法,javascript是一个完全的面向对象的东西,每种类型的值,甚至函数

    都可以看做是对象。
    javascript虽然没有直接创建类的方法,但同样可以用其它方法创建出类,如用function创建的函数可以当做

    类来new一个对象出来。
    至于debug工具不是没有而是比较少,MS的Visual InterDev,Mozilla中的DOM察看器和Javascript Debugger

    扩展都可以用来调试的。
    同样也可以用javascript写一些简单的调试程序。

    冤之三:冗余代码更多了
    会有很多JS代码我承认,但是如果减少了JS代码,就不会增加HTML代码吗?增多的HTML代码分部到不同的页面

    的每打开也要占用网络。
    然而大多的HTML都是通过服务器上的脚本产生的,这不是加大了服务器的负担了。把数据的处理放到客户端用

    JS处理可以分担服务的很多任务。
  • 2005-6-15 9:27:18
  • 25.chon | (home)

  • 冤之四:破坏了Web的原有标准
    我绝对是一个W3C的支持者,但我不明白用<span onclick="location.href='detail/';">而不用<a>跟标准有

    什么冲突的。
    我记得以前我有看到一个W3C的页面里面,也有这么写的。

    冤之五:缺少一个没有标准之争、没有back和history的浏览器
    没有back但还是有这个页面的history。可是没有back不觉得对会更好吗,做为用Web开发系统的开发人员来说

    ,常见的一个问题,就是因为back了,引起重复提交。
    的确有不同浏览器中创建XMLHTTP对象的方法不一样,但使用上是差不多的。开发者可以把这些封装到一个类

    里面,使用上就从这个类里面创建的一样的。
    还有这样跟那两个网站有没有什么关系吧,他们爱怎么开发就怎么开发,总不能因为就那两个网站而打死一大

    片吧。

    冤之六:XML只是用来打幌子
    这个我是为XML鸣冤的,Jesse James Garrett是不是趋于流行我不知道。
    但我认为XML的创建就是为了数据格式更明了,开发者之间更容易沟通。所以XML文件是有可能会比较大,难道

    HTML就不会了吗?本是同根生嘛!(据说下一个版本的XML会加强数据的压缩)
    在客户端要对XML进行解释,那是肯定的,我觉得这样者使XML的使用上更灵活。
    你用数组或字符串就不用要对要传送的数据封装成数组或字符串了吗?客户端的脚本解释器就不用解释了吗?


    上面的是为用HTTPXML的开发者鸣冤,不是为AJAX,因为我觉得AJAX这个东西的出来本来就是多余的。
    AJAX是死是活,我不在呼。

    有兴趣可以通过邮件讨论讨论。
  • 2005-6-15 9:27:51
  • 26.chon | (home)
  • 我的MSN也是这个邮箱地址
  • 2005-6-15 9:30:16
  • 27.fyan888 | (home)
  • 说真的,第七条,真的好假
    AJAX我们公司就应用过来开发,说没有用,只是作者没有见识罢了
  • 2005-6-15 10:53:25
  • 28.apeidou | (home)
  • 作者没有考虑过服务器负担的问题? 所有HTML用动态生成是很痛苦的, AJAX的本意是把负担分给客户端, 最简单的分布式了。

    同意JS的郁闷, JS确实OO, 但是......, 写起来头大, 比C还郁闷的东西, 主要是没好的代码格式
  • 2005-6-16 8:03:27
  • 29.apeidou | (home)
  • 如果不是看到是winzheng.com, 我真懒得回的, 你可以看一下Java阵营的Tapestry, 是jakarta.apache.org的项目, 那个是纯服务器实现的东西, 服务器负担好重啊(都是为了把程序员和美工彻底分开的东西)
  • 2005-6-16 8:05:55
  • 30.ajaxer | (home)
  • AJAX的鼻祖是Google->完全错误
    编写复杂、容易出错->水平,我都会写
    冗余代码更多了->还是水平问题
    破坏了Web的原有标准->没看过W3C标准
  • 2005-6-17 18:18:16
  • 31.andot | (home)
  • Ajax主要应用在Web应用程序开发中,原来是采用传统的B/S方式构建的应用程序与C/S模式相比虽然在部署上方便了,但是使用界面没有C/S的好,Ajax可以在这方面改善用户的体验。再好的东西也不是放在任何地方都适用的。Ajax并不是要完全代替传统的Web,就像B/S应用程序的出现也不会完全代替C/S模式应用程序一样,因此,这篇文章的论述是片面的,主观的,形而上学的。给人一种吹毛求疵的感觉。
  • 2005-6-26 3:21:45
  • 32.Arthur | (home)
  • 此文的作者好像对于JavaScript没有太多深入的了解,个人建议不要乱放厥词。
  • 2005-6-27 9:29:39
  • 34.54yj | (home)
  • 我觉得楼主写的不错,写出了Ajax的限制和弱点。
    另外javascript作为脚步语言,没有编译期错误检测是一个很大的缺陷。
    有些回帖说的也有道理,本来一种技术就是要对各种矛盾的需求进行平衡,在这面照顾多了,肯定另一方面就弱了,所以这种技术只在某些情况适合使用。
    另外我也觉得ajax是前台处理和java、.net主要是后台处理,不存在大冲突。
    ms的asp.net控件就大量使用了ajax技术,并且鼠标拖点自动生成代码,真是开发人员的毒品。
  • 2005-7-1 15:27:24
  • 35.duduwolf | (home)
  • .net和java的具体构架机制我不太了解,只是觉得AJAX和现有的RIA概念有冲突,所以提出了和.net及java的冲突,其实,在讨论AJAX的过程是一个自我学习的过程,到底AJAX是好是坏不是最重要的,讨论的这个过程才是最重要的。
  • 2005-7-1 16:43:17
  • 38.umbrella | (home)
  • ajax带给了我惊讶与新鲜的感觉,也有一种好奇心想去了解它,感觉挺酷的。
  • 2005-11-15 7:39:10
  • 39.Henri | (home)
  • The AJAX thing makes develpers' life harder.

    The behaviors of javascript and DOM are not the same among browsers and the web application must be adjusted and tuned from browser to browser.

    Besides that, the asynchronize nature of AJAX always brings in the "synchronization" issues. What will happen if a user click submit button when the XMLHttpRequest of an input has not get its response? Yes, set a lock and etc...

    The problems goes on and on and your web pages becomes more and more complex. And you have to copy these biz rules inside your web pages(embedded in your javascript).

    Remember the old days when you develop Windows desktop applications? You layout your windows with controls (components); write the event handlers to bind data into components; and that's it.

    What if you can develop a Rich Internet Appliction the way as develop a desktop window application? You might want to check the following opensource project.

    http://zk1.sf.net
  • 2005-11-16 11:01:16
  • 40.零散 | (home)
  • 技术都是人来用的,用好,用在合适的地方,没必要全盘都用
  • 2005-11-19 15:40:41
  • 42.nuying117 | (home)
  • 文章作者好像自己就是处于一个误区里面,所有的技术的流行并非是为了让你更in才使用的,例如ajax这个技术,在bs的开发中,尤其是企业级的开发中,可以让你的bs系统比传统的更快一些,因为传输的可以仅仅是xml中间数据信息,而你非得放在普通的小网站上面,只是你个人的原因,并非技术不好!

    技术既然出来,就有其存在的道理,你觉得不好,仅仅是你没把他用在合适的地方,说这种技术有罪,那种技术有罪,难道非得出来个啥都适合的技术才没罪?你丫咋不自己来开发一个,让我们都来景仰你一下
  • 2005-11-30 18:15:49
  • 43.jk | (home)
  • 通过了解AJAX,作者的观点确实有点偏激了
  • 2005-12-14 9:57:34
  • 44.soukyo | (home)
  • google怎么能是ajax的鼻祖呢????大哥,你用煤用过MSDN/library阿???
  • 2005-12-14 14:12:17
  • 45.yaoyao | (home)
  • 上面有人竟然说"javascript是一个完全的面向对象的东西",真是笑话,什么是面象对象,你了解清楚再说,基于对象就行了,还"完全的面向"?
  • 2005-12-15 12:12:15
  • 46.优网 | (home)
  • 该用ajax的地方还是要用的,比如注册模块.

    优网 [URL]http://www.uasp.net[/URL]
  • 2005-12-20 11:18:17
  • 47.guobin | (home)
  • ms倒是会阻挠这个“野孩子”吧,因为.net就是把web涉及application化,两个有冲突了。
    sun我看不会,基于java的服务器端和ajax的客户端的B/S系统 我看是很有前景的
  • 2005-12-26 0:39:01
  • 49.小猫 | (home)
  • 你们还在讨论有没有必要学习走路的时侯,别人已经在跑了
  • 2006-1-10 13:21:34
  • 51.石头 | (home)
  • 对于WEB应用来说,传统的request的链接方式结合AJAX是最佳实现。
    通常使用标准的HTML+CSS实现标准的界面,并且页面之间的流转仍然采用url方式。
    但是在应用系统中往往存在着交互的问题,而对于这些交互不是简单在IE客户端就能够完成,需要和后台server交互,这样就可以采用AJAX方式,通过XMLHTTP发送请求获得后台数据然后用js将页面中的部分内容进行修改或者刷新
  • 2006-2-5 9:58:16
  • 52.peimao | (home)
  • 我该怎么样才能看到七宗罪这部影片呢
  • 2006-2-7 12:16:39
  • 53.星星 | (home)
  • 我想用开发网页的思维和技术来开发桌面和客户端应用程序是许多人都向往的吧。界面用网页来布局,核心可以用其他编程语言封装成com进行调用。
    看看“书包行--U盘伴侣”这个软件就知道ajax的作用了。这是一款完全基本浏览器开发的信息助理程序。里面包含大量的应用,整个软件安装包才不到2M。
    软件可以到官方网站下载:http://www.cuteie.com/
  • 2006-2-14 23:22:25
  • 54.铁匠 | (home)
  • 呵呵,JS最多只能算是基于对象的,不能算是OOP,因为它只实现了OOP中三个基本要素:封装,继承,多态中的封装。
  • 2006-2-21 12:34:00
  • 55.RhettLi | (home)
  • 唉!有多少人真正懂面向对象呢?JS面向对象...
    疯了。JS用到该用的地方就好。
  • 2006-3-3 23:22:33
  • 56.的萨反对萨 | (home)
  • 多态虽然没法实现 但是继承 ,封装的功能是有的
    多态对于客户端代码 也用不上啊
  • 2006-3-16 14:53:55
  • 58.htqx | (home)
  • javascript 对于c++的用户来说,有许多特别之处,远远java和c++的差异。

    我认为,面向对象,首先应该是指建立对象的能力。一般要实现封装,继承,和多态。其中,javascript确实可以建立对象,而并非只是“基于”对象,但是封装,继承,多态都是反传统的。

  • 2006-4-9 22:36:06
  • 59.ok | (home)
  • 你写的怎么和那个写99%bad的这么惊人的相似啊。不仅引用的两个网站一致,就连说到 google map 用javascript 组都一样。

    “the two examples that Mr Garrett points to do not qualify as Ajax. Google Suggest doesn't use XML/XSLT for data interchange and manipulation. It uses JavaScript arrays.”
  • 2006-4-14 19:04:04
  • 60.郁闷 | (home)
  • JS比ASP、PHP、JSP还要更加OOP
    难写死了~
  • 2006-4-24 10:33:37
  • 61.sunxking | (home)
  • 其实ajax确实很有用呢,起码这种思想很有用,js确实可以做很多事情,把b/s转向c/s了!
  • 2006-4-25 10:19:31
  • 62.ajax | (home)
  • AJAX 好火!!!!!!!!!!!!!!
  • 2006-4-26 20:57:41
  • 63.lein | (home)
  • 作者是不是本文的原作者哦?我来反驳你一下,下举几篇反驳你的:
    http://www.dvbbs.net/tech/xml/2006041949754.asp
    http://digi.it.sohu.com/20060205/n241677535.shtml

    以上是别个的没看,有时间再发表我的看法,之所以放在这里是想提供给后来的朋友一些参考.

  • 2006-6-26 16:05:22
  • 64.lein | (home)
  • 驳罪之一:对搜索引擎的支持不好

    这个是不正确的哈,因为用ajax技术做的链接仍然是<a href="url" onclick="new Ajax.Updater(...);return false">..</a>这样的,链接地址在那里,搜索引擎仍然能够找到

    驳罪之二:编写复杂、容易出错

    嘿嘿,要自己写个框架的确很复杂,偶写不来,作者是不是要自己去切呢?
    我反正每次都拿以前的写好的来改,改地址、链接名称、更新的dom就是了,何必自己呢?ajax提交表单也是一样得做法:copy和修改,^_^。

    当然总得来说程序员在服务端和客户端做的事情都增加了,但是给客户带来的体验确实全新的,(想像一下你点下一个链接后进度条慢慢的爬行时,要是你多点两下浏览器就死翘翘时的感受,你就明白它的好处了)。

  • 2006-6-26 16:30:21
  • 65.lein | (home)
  • 驳罪之三:冗余代码更多了

    冗余代码就是一个40k左右的js文件,当然如果你的网站别个进来了看一眼就闪人,那绝对是冗余,但是如果多点几个链接,这个时候用ajax加载的话不需要更新的内容统统省略(服务器不再次发送这些内容),这不就赚了吗?
    所以这个不是一定存在的哦。

    驳罪之四:破坏了Web的原有标准

    嘿嘿,作者同志用ajax时就把a抛弃了,真是喜新厌旧啊,我可没那么做哦;况且用span还得加style=cursor:point;当然用a做ajax请求的话得加个return false。

    驳驳罪之五:缺少一个没有标准之争、没有back和history的浏览器

    标准?作者喜欢被标准束缚?管它啥子形式的,用起来稳定就好。
    没有back和history的浏览器,这个正确哦。
    不过它也带来了好处三:有的页面提交之后点后退就告诉你过期了,你填了半天的数据没了,ajax就可以避免;而且ajax可以使用缓存,在适当的地方使用就可以避免重复下载资源哦。

    驳罪之六:XML只是用来打幌子

    名字而已,难道javascript和java有很大关系么?
    再说谁愿意去处理xml(对xml很熟悉的会),都直接用html代码,不用处理,直接显示。

    驳罪之七:世界这么大却找不到自己的家

    这个论点最不着边际,作者搞清楚ajax用在什么地方没有哦?
    谁说ajax是要取代java和.net哦?ajax只是一种新型的在web浏览器上运行的更新和提交数据的“方法”,和java或.net有半点关系么?我实在看不出来。

    ajax是个较新的事物,有些人的确炒得过火了,它并不是适用于所有情况(我觉得70%左右得b/s开发可以使用);但是它并不是那么一文不值的。取长补短嘛,评价事物不要光看一面嘛。
  • 2006-6-26 16:30:43
  • 66.gfsdgs | (home)
  • FlatteredHappyKissed[EMAIL=@][/EMAIL][URL=http://][/URL][URL][/URL][URL=http://][/URL][EMAIL=@][/EMAIL][B][/B][I][/I][U][/U][S][/S]FlatteredBoy smileGirl smile 3HappyKissedSurpriseSplit
  • 2006-7-5 14:26:54
  • 67.kioi | (home)
  • 我觉得AJAX只能用在WEB程序上,用来实现类似普通程序的界面, 没法用它开发正常的网站, 就好象, 这些网页没有办法找到, 不能收藏也不能分享
  • 2006-8-6 5:58:35
  • 68.michael | (home)
  • 我同意作者的观点,后面的回复有的完全是断章取义或者是企业应用系统的开发者,而不是门户网站的开发者。我既做过应用系统也做过网站,二者在技术理念上区别很大,对于面向一般网民的门户,ajax只适用于个别地方,也就是无需被搜索同时又需要不刷新页面完成和服务器的交互,比如用户注册验证、图片上传、信息的后台管理(如mail)等,对于大多数页面只能用传统方式。而且即便是如论坛版主后台,ajax带来的体验和付出的成本也不成正比,因为这个功能的使用者一般是网络的老手,是一个小众。所以这就是一个悖论,面向一般大众的功能是需要改善体验的,但是搜索引擎不认,浏览器不统一,而不用理会搜索引擎的部分又是面向专业小众,没必要花大代价改善体验。最后只能是一个很狭窄的领域,比如在线游戏、动画,大量高动态交互而无需搜索的应用。以上说的主要是网站,对于企业应用(MIS/ERP/CRM等),ajax是个不错的东西。
    不过需要考虑国内企业应用项目的现状,用户体验对项目的影响到底是多大呢,这是个非技术问题。
    我认为ajax有用,但是需要极为谨慎,在一个上上下下已充分认同的环境下应用,因为项目的命运一定意义上可能就在这,而项目管理者通常不希望无端的增加一个可能成为瓶颈的因素,特别是用户并没有特出要求的时候。
  • 2006-8-12 12:20:01
  • 69.sysoul | (home)
  • 最直观的感觉就是对搜索引擎支持不好,没有"back"和"history",让用户不习惯
  • 2006-8-17 23:41:13
  • 70.Snarkzen | (home)
  • 根本没必要讨论某个编程语言与某个编程语言谁好谁坏,每一种语言都有各自的优点和缺点,语言是死的,作为一个程序员最基本的工作就是利用最合理和最简单的语言,做好客户需求.一个好的程序员,根本不会去考虑喜欢哪种语言,哪种语言比哪种语言好之类的问题,应该考虑的只是怎么样才能完成客户的需求.一味追求新技术的程序员,只能算是菜鸟.
  • 2006-10-12 16:01:30
  • 71.Snarkzen | (home)
  • 作者只是说出了Ajax的缺点
    不过有几样说错了
    <span onclick="location.href='detail/';">
    不清楚你所谓的web标准是什么,如果说的是W3C的标准的话,这样的写法并没有错,只是省略了</span>而已
    JavaScript的核心技术是ECMAScript,OO的基本要求是:
    1.封装:把相关信息封装在对象的能力
    2.聚集:把一个对象存储在另一个对象的能力
    3.继承:由另一个类得来的属性和方法的能力
    4.多态:编写能以多种方法运行的函数或方法的能力
    这几个OO的基本功能ECMAScript都能很好的实现,所以JavaScript可以被看作是面向对象的语言
  • 2006-10-12 16:13:24
  • 72.kingma | (home)
  • 所提到的都是问题,不是罪,问题是可以解决的,罪孽是不可饶恕的。有的问题是要解决,有的,不算是问题。而你看AJAX是从技术上去看,而不是思想上去看。
  • 2006-10-17 13:07:47
  • 73.kingma | (home)
  • 我说上面一句话是有根据的:
    1,搜索引擎不是问题,AJAX思想是未来WEB趋势,所以,如果AJAX成为主流,那搜索引擎自然提供更好的服务。
    2。世界没有难易,如果很好的规划,良好的框架支持,不是问题。
    3。AJAX若以技术论,确实很多JS,若划分好,只有三个:
    发送请求,
    接收处理,
    事件操作。
    4。WEB建立的标签并不是为了展示结构,而是为了在合理利用标签。
    5。其实有组织提出标准的,只是各浏览器有差异,这问题是要解决的。
    6。XML的作用在有时是没用,但是有时却很有用,例如,我们直接调用数据库,然而我们只需要新的10个数据,用XML就好的多。
    7。我巴不得AJAX是中国人提出来的,中国人来发展它,它是一种异步思想,因为WEB是一种静态的页面(动态是骗鬼的),通过学习,你会对AJAX,或者整个WEB有不同看法的。
    后话:多希望中国有自己的WEB框架,自己的编程语言。
  • 2006-10-17 22:32:56
  • 74.kingma | (home)
  • 现在很大的问题是,AJAX的无刷新只是一种表面的无刷新,集成,细粒度,IE缓存,要是完美的追求,那付出的代价可想而知,提高的效率并不是想象的那么快
  • 2006-10-19 10:17:25
  • 75.techie | (home)
  • js代码比较难于维护,更要求程序员有责任心了,有感于此。。。。。
  • 2006-11-16 0:36:07
  • 76.ajaxer | (home)
  • 推荐一个国内自主开发的应用Ajax技术的网站——卡当网[URL]www.kadang.com[/URL],里面的个性定制工具箱做得还不错,据说相关的ajax代码超过几万行
  • 2006-11-16 22:43:18
  • 77.miaomiao | (home)
  • 看来作者不是很了解ajax啊..网站不应该跟着搜索引擎来发展,AJAX思想绝对是未来WEB的趋势,所以,如果AJAX成为主流,那搜索引擎也自然会提供更好的服务!
  • 2007-1-3 1:20:13
  • 78.Darkktt | (home)
  • 我觉得作者的观点有点偏,首先Ajax技术并不是因为google map才兴起来的,早在2002左右,他就已经开始使用了,同时ajax技术最早是用于Java的,用它来实现一些Web效果,例如,在不刷新网页的情况下获得动态数据,因此他通Java没有冲突,它只是有力的补充了网站的功能。我个人来说它是非常方便的,尤其是在做商业网站的时候,同时为了保证数据的安全性和有效性,很多时候我们不得不将back和history功能关掉,因此你说的这个缺点对我来说恰恰是优点。此外Ajax对于提高网站的性能,主要是打开网页的速度来说是非常有效的办法,而这一点恰恰能够大大提高产品的竞争力。
  • 2007-2-5 18:00:32
  • 79.Darkktt | (home)
  • 对于商业网站来说,重要的是用户体验和信息度,对于用户体验来说,能够快速的打开网页是非常重要的,而这一点和信息度是冲突的,大量的信息意味着速度慢,而Ajax恰恰可以解决这个问题。
  • 2007-2-5 18:03:12
  • 80.myGod | (home)
  • 呵呵~~
    你MB你自己写个GOOLEMAP再上来嚎~~!
  • 2007-5-26 16:06:50
  • 81.cs | (home)
  • 不懂就不要写,看文章就知道是个一知半解。

    自己不懂不要紧,千万不要误人子弟。


    例如:google是ajax的鼻祖
    javascript不支持OOp
    ajax没有用处
    破坏了web的标准

    哎,好好看看别人的评论吧,评论里面有技术含量的回复可多了

  • 2007-6-15 15:19:06
  • 82.Mydscn | (home)
  • AJAX 并不一定能减轻数据查询,有的地方增加了数据库的负担,处理的不好的话会导致服务器承受更大的负担。传统方式中,对于一个用户而言用户每对服务器进行一次请求需要等待服务器做出响应后才能对服务器进行另一次请求,这样后面的请求能确保是在上一个请求执行完以后处理的。但是AJAX异步请求打破了这种束缚,一个用户就可以快速的连续的执行多次到几十次的请求(如拖动的分页的导航条,从1到10,如果直接拖到10那就有2-9的回发是没有用的,更何况有时用户并不会直接拖到位或因显示速度原因发生来回不断的尝试),相对于传统方式来说,这会对服务器提出更高的要求以及对程序设计者带来更大的挑战。可能许多请求都是无用的或者是无效的,那么这将会浪费大量的服务器资源。
  • 2007-7-21 7:38:17
  • 83.Mydscn | (home)
  • 对搜索引擎不友好,不利于搜索引擎对整个网页的搜索(如无法搜索到AJAX的数据,因为可能AJAX的网页没有或只有少量不改变的HTML内容),最后的结果就是(特别是baidu.com,google.com也许还会利用网页的Description)网页内容搜索不到,因为搜索引擎或称搜索机器人只能搜索网页内静态HTML内容。互联网上绝大部分是企业服务、新闻财经、电子商务、教育培训、展览展示、论坛峰会、交友社区、生活美食、评选投票、法律律师、介绍投资、医药健康、游戏旅游、艺术音乐、摄影图片、时尚娱乐、拍卖下载等等网站,这些网站哪个不是很需要让搜索引擎搜索到网站和网页每一部分内容的。
  • 2007-7-21 7:38:41
  • 84.Mydscn | (home)
  • 因为AJAX只能使用Post回发,所以页面没有链接(或很少链接),搜索引擎不可能产生onClick行为来 Post 获得网页内容的改变。(如分页采取Post,那么搜索引擎只能搜索到第一张页面而无法通过链接方法获得整个站点的所有网页),这将直接导致站点排名的降低。另外就是因为网页没有改变,浏览器没有历史记录;网页不能收藏直接导致网页不能分享。这里还提出一个很重要的问题:没有链接的网站算网站吗?
  • 2007-7-21 7:39:13
  • 85.Mydscn | (home)
  • 有的AJAX用户也没有觉得方便了很多,虽然有的地方还是看着舒服点,但实际开发的时间则大大增加(可能要为解决其他问题多写几到几十倍的代码),Js代码也难于维护,有些得不偿失。

    AJAX不过是在现在的HTML的平台上的一种折衷方案,折衷的方案是不会长久的,不知道以后 W3C 对AJAX的标准是什么。也就是说,现在做的AJAX是没有标准的。最要命的就是没有标准的东西也就不能确保任何网站文挡都能够长期有效,简化代码、降低建设成本。也就不能能适应更多不同用户和更多网路设备,当浏览器版本更新,或者出现新的网络交互设备时,无法确保所有AJAX应用能够继续正确执行。

    AJAX兼容性非常不好,这是大家都知道的。由于AJAX需要Javascrip的支持,另外还需要用到xmlhttp对象,所以对于浏览器的兼容性需要考虑。专业化的网站要求兼顾网站访问者浏览的方便、易用性及主流浏览器的兼容性(Internet Explorer,Netscape,Mozilla Firefox,Opera,Safari)这些AJAX是做不到的。难道我们做的网站就应该扔掉不支持AJAX浏览器的用户?
  • 2007-7-21 7:40:02
  • 86.Mydscn | (home)
  • 用户的习惯性,很多用户习惯与使用传统的方式来与服务器进行交互,突然出现一种新的方式的时候反而会让他们不知所错。AJAX这种表面看上去不需要刷新浏览器,因此在很多情况下用户执行一个操作后发现浏览器并没什么动静会感到很迷茫,特别是当网络速度慢的时候(如电信和联通),用户的一个请求需要很长时间才能反应,在等待的这段期间,用户也许会认为WEB有问题关掉浏览器或则再做别的什么事情。另外,用户会习惯于浏览器提供的一些功能,比如前进、后退、刷新、停止,这些功能是用户会经常并习惯用到的,当采用AJAX的时候会导致这些功能大多失效。
  • 2007-7-21 7:40:32
  • 87.alont | (home)
  • AJAX严格说来并不是一项专门技术。我喜欢用JS在客户端实现部分业务逻辑,使界面更加友好,同时可能用XMLHTTP与服务器交互,你硬要说我在使用AJAX技术吗?有点无聊!
    各种技术有其独特的应用场合,比如XML,作者说是个幌子,但它跨平台方面无疑是最好的,是当今主流技术,却成了幌子?这与AJAX有何相干?另外有谁规定界面一定要有前进、后退链接?搜索引擎也是人作的软件,它就傻到只认静态页面吗?太可笑了!
  • 2007-10-16 23:26:20
  • 89.mingyue | (home)
  • Ajax不过是个新瓶装旧酒的玩意儿,不是什么新技术,犯不着这么折腾
  • 2008-4-3 1:45:59
  • 90.xiaoxiao | (home)
  • 已将贵站收录进我新做的博客收集网。
    [URL=http://91bkw.cn]91bkw.cn 91博客网[/URL]
  • 2008-4-3 14:00:17

反向链接列表

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

<< 2008·2 >>

Sun

Mon

Tue

Wen

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

Search

Powered By Z-Blog 1.4 SP1 Build 50824 - modify by duduwolf

Copyright 1999-2005 duduwolf.com Some Rights Reserved.