Bohr’s Blog


Learning Ajax

Asynchronous Javascript and Xml(Ajax)是当??常?行的Web开?技术,有很多?功的应用案例,比如Gmail? Google MapBackbase等。作为Rich Internet Application(RIA)的一?实现技术,Ajax?仅?以改善用户体验,还?以简化Web开?,通过将页?高度模?化,数?与表现分离,从而?以使?务器端和客户端都?以很好的解耦,?低开?的??度。

事实上,Ajax并?是什么新的技术,??过是Javascript一些相对比较高级的特性的综?应用。也正因为此,Ajax与其它RIA实现技术(如Flash?Java Applet)相比,?需?在客户端安装特殊的?件,具有更广泛的?览器兼容性。一般?说,Ajax所涉?的Javascript特性包括:

  1. 通过XMLHttpRequest的异步请求调用。 客户端Javascript?以通过异步的方?,??端?务器??请求??应返回结果,对页?内容进行部分的更新,而??需??次由用户通过改?链接地?,对整个页?进行更新。这是Ajax能够实现页?的平滑刷新,??供用户体验的基础。
  2. 对XML文档的解?与处?。由XMLHttpRequest返回的?务器端信?,?以是纯文本?HTML片段或者是XML文档。对于简?的Ajax应用,纯文本或者HTML片段??完?任务(如 Gmail);然而对于比较??的应用(如 Google Map),?务器返回的信??能?仅包括页?更新的内容,还包括对页?进行控制的信?,这就需?使用结构化的XML数?,通过Javascript对XML进行解?和处?,获?必?的信?。
  3. 基于prototype的??对象的Javascript。从Ajax的字???上讲,这一特性并?是一个Ajax应用所必需的。然而,?为一?RIA,其相当大部分的业务逻辑是由客户端Javascript?实现的,如果使用传统的??+函数的顺?执行的方?,其设计和实现都将是相当??的。而如果能够引入??对象的?想,?以大大?低Ajax开?的??性。而Javascript的Prototype属性为这一实现??供了基础。

由于Ajax的热门,网上出现了大?介?Ajax的网站,文章。根?我的学习过程,比较有代表性的包括:

  1. Ajax: A New Approach to Web Applications 这是Jesse James Garrett??出Ajax这个???的文章。尽管Ajax的应用很早就有了,但是这个术语?是Garret在这篇文章里进行了定义和介?。文章中用到的2幅图,?以帮助我们?解Ajax与普通Web程?的区别。
  2. Ajax: Getting Started 这是?表在Mozilla Developer Center的一篇文章,通过简?的实例,对Ajax的?程进行了??述,让你对Ajax有一个比较基础的认识,?以作为入手的教程。很多人将其翻译?了中文,?布在网上, 这里便是其中之一,如果习惯看中文的?,?以去看看。
  3. prototype.js开?笔记 prototype.js 是由Sam Stephenson写的JavaScript包。这段构?奇妙编写良好兼容标准的代?将承担创造胖客户端, 高交互性WEB应用程?的?担,轻?加入Web 2.0特性。我们对于prototype.js的兴趣主??于两个方?。一是它??供了一系列?装Ajax逻辑的类,?以为我们编写Ajax代???供便利。?一方?,通过对prototype属性?call?apply等方法的应用,其??供了一套使用Javascript完???对象编程的机制,?以很大程度上实现?装?继承?多?等OO特性。 这篇文章的作者通过对prototype.js?代?的分?,介?了这个包的对象,类,方法和扩展的?官方?考。
  4. Ajax Patterns 通过1,2的学习,应该已?对Ajax有一个比较清楚地认识了,并?以编写一些简?的Ajax应用了。然而,如果?真正?用Ajax?进行实际的开?,就会?到???样的问题。这个Wiki站点就?以帮助你更加深入的了解Ajax,你?以在这里找到Ajax开?过程中方方??的问题?现有的解决方案。?过,目?有一些问题的解决方案还?完善,比如固定链接的问题。
  5. Ajaxian 这是一个追踪最新的Ajax应用的Blog。通过这个网站,?以了解最新的Ajax应用实例?方法,新的介?Ajax技术的文章等等。
  6. AjaxMatters 这是一个关于Ajax的综?网站,包括大?的Ajax的文章?书??类库和工具的介?。
  7. Google-ajaxslt 这是Google??供的一套开?的Javascript下的XSL-T实现,主?用于在客户端通过XSL-T对?务器返回的XML进行呈现,是从其 Google Map的开?过程中???出?的。
  8. Log4Ajax 对于Javascript程?的开?,最头疼的一件事情就是对其进行调试。对程?纪录日志,是一?常用的调试方法。这篇文章介?了如何对Ajax程?纪录日志,包括客户端和?务器端两方?的内容。事实上,对于调试程??讲,?能更??的是客户端的部分。如果?需?在客户端进行日志纪录的?,?以使用 JSLog这个?工具,它??供了一?比较方便的方?进行客户端日志的记录和显示。

这里??到的,?是我读到或使用过的关于Ajax很少的一部分内容,如果你需?了解更多的Ajax的应用框架和开?工具,?以?看Ajax Patterns的 Frameworks页?,而更多的Ajax网站,?以在links页?找到。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: