白金译作 Ajax 的六个误区

7376个读者 翻译: 雷声大雨点大  12/27/2006 原文 引用 双语对照及眉批

原文发表日期:2006年12月5日

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是我的客户。

译者:压题图片是原作者的照片。另外,原文上有原作者详细的联系方式。
继续阅读
  • Facebook 详解

    译者:本文译自英文维基百科条目“Facebook”。只翻译了个人觉得对中国互联网从业者有价值的部分。比如有关Facebook相关的法律纠纷,就略去了。中文维基百科只完成了原文2%的翻译。如中文维基百...

  • 23种方法下载YouTube视频

    尽管谷歌口袋里装有大把的钞票,最近针对YouTube的诉讼案件还是让人不得不考虑是否是时候把“管子”上喜爱的视频抢救出来存放在律师们看不到的地方——你的硬盘。 幸运的是,我们有大量工具可以将视频从Y...

  • Top 100 web2.0网站 最热门的100个网站

    视频 *YouTube :YouTube(你的视频)是一个可以让用户免费上传、观赏、分享视频短片的热门视频共享网站 *Meta Cafe: Metacafe (麦塔咖啡厅)-得到最好的网上视频-搞笑...

  • 《长尾(The Long Tail)》的完整中译版

    自从2004年10月发表以来,Chris Anderson的经典文章《长尾》一直在深刻地影响着全球各地互联网业的发展。他所提出的推动型模式与拉动型模式的结合,广泛性与个性化的统一,已经成为网络产品设计...

  • 2006 年互联网技术发展趋势

    已经十二月了,是该回顾一下2006年互联网技术的发展状况,和展望2007年的时候了。在随后的几周,Read/WriteWeb将发表一系列深度分析2006年出现的产品和趋势的文章。同时我们会畅想一下20...

  • Facebook上最伟大的十个应用程序(Apps)——工作篇

    作为读写网Facebook周活动的一部分,我为大家带来Facebook平台下的最优秀的Apps。有将近1800个Apps可以在Facebook平台下运行,这给Facebook带来了巨大的成功。在这些应...

  • 长尾全译 PDF 下载

    欢迎您来下载《长尾(译言版中译)》的PDF文件。这是Chris Anderson最初在《连线》杂志发表的《长尾》原文的中译版。我们有下列几个版本供您选择下载或阅读。 *译言长尾中译PDF版(拙尘制作...

  • Facebook案例学习: 实体业务驱动在线服务

    Facebook案例学习: 实体业务驱动在线服务 作者: Nisan Gabbay, 发表于2006年11月5日 翻译:forimprove qiqi kk 为何编录入Startup Review F...

相关小组

标签:

内容有问题?请与我们联络。

译作评分

  • Currently 4.00/5
  • 1
  • 2
  • 3
  • 4
  • 5
 4.0  |  1 个评分

4条评论    0眉批

  • 1.

    javaliker 童生 | Blog

    AJAX不是一种口号,我们使用它,在应该使用它的地方.未来的在线应用  离不开AJAX.  www.javaliker.com)()

    12/29/2006

  • 2.

    KK 探花

    一直觉得AJAX很神秘
    有机会要好好了解一下

    01/07/2007

  • 3.

    fd 童生

    df

    02/05/2007

  • 4.

    chengzi 童生

    聘Web  UI开发工程师
    <br/>Looking  for  candidates  to  develope  browser-based  rich  internet  applications  using  the  TIBCO  General  Interface  (GI)  product.    GI  is  a  mature  AJAX  software  development  platform  with  an  established  customer  base  and  real-world  deployment.    We  have  been  in  market  for  over  four  years  and  were  recently  awarded  the  2006  'Technology  of  the  Year'  Award,  by  IDG's  InfoWorld  as  the  "Best  AJAX  Toolkit".    These  are  high  profile  projects,  both  within  TIBCO  and  in  the  enterprise  software  market  as  whole.
    <br/>
    <br/>  
    <br/>
    <br/>Responsibilities:
    <br/>
    <br/>Engineers  will  be  required  to  take  functional  requirements  and  implement  them  with  minimal  supervision  from  their  supervisor  or  system  architect.  Engineers  will  also  be  required  to  work  with  colleagues  from  different  functional  groups,  such  as  QA,  technical  publications,  technical  support,  etc.
    <br/>
    <br/>  
    <br/>
    <br/>Candidates  should  expect  to  share  in  a  broad  range  of  responsibilities,  including:
    <br/>
    <br/>  
    <br/>
    <br/>User  interface  proof  of  concept  development  and  prototyping  
    <br/>User  interface  development  and  integration  with  back-end  SOA  
    <br/>Development  of  new  GUI  classes  to  support  best-of-breed  user  experience  
    <br/>Providing  feedback  to  the  GI  engineering  team  on  product  features,  performance  and  enhancements.
    <br/>  
    <br/>Senior  Developer:
    <br/>
    <br/>Above  two  years  of  web  application  development  experience.  
    <br/>Good  listening  and  oral  English  skill  
    <br/>experience  with  a  scripting  language,  preferably  ECMA  based,  such  as  JavaScript,  ActionScript,  etc.  
    <br/>excellent  understanding  of  object-oriented  software  engineering  principles  
    <br/>experience  working  with  XML  and  XSLT  
    <br/>experience  developing  and  deploying  web  applications  with  Perl/mod_perl,  ASP,  JSP/J2EE,  etc.  
    <br/>understanding  of  Web  Services,  including  WSDL,  SOAP,  and  Schema  
    <br/>experience  with  CSS,  DHTML,  and  cross-browser  compatibility  issues  
    <br/>Script-based  access  to  the  internal  XML  Parser  and  its  APIs  
    <br/>SOAP:  script  based  access  to  the  internal  SOAP  APIs  
    <br/>Knowledge  about  the  different  builds/versions/releases  and  what  is  possible  in  each  
    <br/>Document  Object  Model  
    <br/>Event  model
    <br/>有意者请发应聘简历至:go_sourcing@hotmail.com

    01/18/2008

添加评论

欢迎访问译言网。在这里,您可以。。。

阅读
发现
翻译