第1章 什么是Ajax
在2001年-2005年间,万维网(WWW)涌现出了大量新技术和新方法论,它们赋予了这种曾经静态的媒体以新的生命。在线产品手册和产品目录已不再是主流,而Web应用程序开始成为在线服务的主要形式。与传统网站不同,Web应用程序是为用户提供即时服务的。无论是为了业务流程管理还是个人兴趣,随着用户对更加丰富的功能的期望,开发人员都将转而创建新的交互模、式。
这些不太知名、很少使用的技术在Web测览器中已经存在一段时间了,它们使Web迈出了一大步,彻底推翻了传统的使用模式,当访问新数据或新的应用程序业务逻辑时不再需要重新载入整个页面。各个公司都开始尝试在网页中实现部分内容的动态载入,只向客户端传送一小部分数据,以得到更快速、更好的用户体验。
处于这一运动热潮最前沿的当数Google公司。当搜索引擎被广泛接受之后,Google的工程师们就开始在网站中名为Google Labs的栏目上展示新的尝试。在Google Labs中的许多项目,诸如GoogleSuggest、Google Maps,都只有单个网页,虽然从不卸载页面,但数据不断更新。这些革新着眼于将桌面软件用户界面的各种特色(affordance)迁移到浏览器屏幕范围之中,它们受到了广泛赞誉,引领了Web开发新时代的到来。
无数开源软件和商业化产品都开始考虑利用这种新Web应用程序模型进行开发。这些项目使用JavaScript远程调用、Web远程过程调用、动态更新等各种不同的术语来阐述该技术。但是很快,一个新的术语应运而生了。
1.1 Ajax的诞生
2005年2月,Adaptive Path公司的Jesse James Garrett在网上发表了一篇名为《Ajax:一种Web应用程序开发的新方法》的文章(现在还可以在www.adaptivepath.com/publications/essays/archives/000385。php看到)。在这篇文章中,Garrett阐述了他为什么认为Web应用程序正在填平与传统桌面应用程序之间的鸿沟。他引用了一些新的技术,并以几个Google的项目作为例子,说明了如何将传统的、基于桌面应用程序的用户交互模型应用到Web上。然后他说出了两旬引起广泛兴趣、热情和争论的话:
GoogleSuggest和GoogleMaps就是这种新型web应用程序的两个例子,在AdaptivePath公司里,我们将这种理念称为Ajax。这是Asynchronous(异步)JavaScript+XML的简写,它预示着web可能将发生一次根本性的变革。
从此之后,关于Ajax的文章、示例代码以及争议有如潮水一般充斥于整个因特网。开发人员在Blog上的谈论,技术杂志的关注,而许多公司则将这些应用在产品中。但要理解到底什么是Ajax,还必须先了解促使其产生的一些Web技术的演化过程。
展开