您的位置: 首页 > 技术文档 > 网络编程 > Ajax 的六个误区
搜索自动提示功能的实现 回到列表 Java远程通讯可选技术及原理
 Ajax 的六个误区

作者:雷声大雨点大  时间: 2008-03-12 文档类型:翻译 来自:译言

原文:http://redmonk.com/anne/2006/12/05/six-myths-about-ajax/

Ajax到底是什么?是一个并不太容易掌握,但可以增加网站交互性的方法?是Web2.0的基石?还是又一轮网络开发中的跟风?就像以前流行过的闪烁字体、“溅水”页(译者:Splash page -Flash动画或大图片做的网站的简介首页,往往有个“跳过简介”或“直接进入”的小按钮)、和使用圆角(译者:见YeeYan首页抬头,呵呵),只是这次动态性更强?

让我们看看有关Ajax的几个误区,拨开迷雾、发掘真相。

误区一:AJAX 是Asynchronous JavaScript and XML 的缩写。你写这个词时,应该用大写字母拼写,要不就显得很无知。

事实上,根据 Ajax 这个词的创造者Jesse James的介绍,Ajax可不仅仅是个缩写词。它是一系列技术用特定方式结合在一起的整体。它包括JavaScript,CSS, DOM 和运用 XMLHttpRequest 对象进行客户端与服务器间的数据传输。从服务器传到客户端的数据格式不一定是XML,还可以是 JSON(Javascript 中的对象)或其他数据格式。总之数据的传输是少量、递增的(译者:而不是传统的刷新整个页面)。所以,你要是想显摆一下自己是很懂的技术高手,用Ajax,而不是AJAX。您自己判断是不是想显摆自己吧。

误区二:看看Gmail和Google Map吧,Ajax 会让你的网站可用性更强。

事实上,使用Ajax 有可能让你的网站可用性增强,但也可能使你的网站变得让人可憎得难用。全新设计的Yahoo 电视节目列表就是这样一个反面教材。(译者:对新版Yahoo电视节目列表的反面评价主要认为Ajax的翻页功能让原来一页上列出所有电视节目的可用性变得更差,比如不能在一页中进行查找等,虽然翻页功能本身做得很漂亮。)

误区三:Ajax只是面子工程--仅仅是表面上看着挺酷和视觉效果。

事实上,如果有正确的设计和实施,Ajax 的网络应用应该比传统的CGI类型的,以服务器端处理为主体的(如ASP.NET或Java Server Pages,JSP)网络应用具有更好的可扩展性,和让用户体验到更快的反应速度。如需要了解技术细节,请参见IBM的Bill Higgins写的有关Ajax和REST的第一部分。这是我的总结:传统的CGI类型的,以服务器端处理为主体的网络应用,客户端不保存(网络应用执行的)状态(Stateless),状态的保存完全由服务器实施(Stateful server)。这使得服务器产生的结果(译者:比如动态从数据库读取的数据)只能一次性使用而不能被缓存(cache)下来再利用。这破坏了REST构架中的可扩展性原则。而Ajax能将状态保存在客户端,从而实现常用资源,如重复使用的数据和源程序(译者:应该是指Javascript),可以有效被缓存和再利用。

误区四:Ajax 对于一般网络开发人员很难掌握

Ajax 确实不容易。但它的使用难度正在逐步降低。有若干因素造成Ajax的实施难度:对不同浏览器兼容性的支持,开发工具的不足,以及对开发人员思维方式转变的要求--从过去以服务器端处理为主体的网络应用,转变到新的在客户端保存状态、逐步上传数据的应用。但由于Ajax越来越普及,很多开发工具和平台提供商以及开源软件开发者都在着力解决这一问题。这里列出若干对Ajax开发员有用的工具:Google 网络开发工具箱(给Java开发员的),dojo跨浏览器平台,script.aculo.us 长于提供视觉效果,以及用来调试JavaScript 程序、监视XMLHttpRequest的(FireFox插件)Firebug,等等。

误区五:Ajax 会破坏用户使用浏览器的体验(Ajax breaks the browser model)

确实,Ajax的应用有可能造成浏览器使用的问题,如破坏“返回键” 功能,让用户不知所以,让有残障的用户完全无法使用网站。但传统技术也可能产生类似问题:如使用框架(frames)或者Flash往往也会破坏“返回键” 功能;即便不用Ajax,糟糕的设计也能让一个网站把用户完全搞晕;即便使用最单纯的HTML也很难做到让有残障的用户顺利使用网站。这些是需要有意识地去注意和学习的方面,并不是仅存在于Ajax应用中的问题。

误区六:Ajax 是web2.0的关键组成部分

这要看你如何定义web2.0了。我认为web2.0和web1.0的区别主要在于社会层面而不是技术层面。从web1.0 到web2.0最重要的范式转变(paradigm shift)在于web2.0是双向的网络,可读写的网络和社会网络。而不是“让我们开家网上商店”的那个网络。按照这个定义,我们可以完全不用Ajax来实施web2.0。大多数博客不用Ajax;没有Ajax,维基百科照样能焕发它的异彩;社会化网络也不需要Ajax;Flickr 之所以吸引人是因为它是一个照片的社会化平台,而不是它使用的DHTML技术。

更多Ajax的相关资料(译者:建议深度阅读、推荐和翻译)

我个人最喜欢的有关 Ajax 的博客是Ajaxian 和 Shelley Power的“技术女狂人。Shelley 写的《添加Ajax》很快将会由O'Reilly 出版。而本文的写作参考了Bill Higgins 的关于Ajax和REST构架的文章(第一部分第二部分。)

声明:IBM是我的客户。

译者:压题图片是原作者的照片。另外,原文上有原作者详细的联系方式。

本文链接:http://www.blueidea.com/tech/program/2008/5469.asp 

出处:译言
责任编辑:bluehearts

◎进入论坛网络编程版块参加讨论

相关文章 更多相关链接
搜索自动提示功能的实现
Ajax标签导航实例详解
不用组件实现Ajax效果
用 AjaxTags 简化 Ajax 开发
静态页面分页的AJAX实现
作者文章
Facebook 详解
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2