由来
Ajax这里暂且不讨论它所包涵的技术的由来,这个名词的提法来自Jesse James Garrett的Ajax: A New Approach to Web Applications,既然是介绍Ajax的由来,我想把这篇文章翻译一下,也就可以了。
Ajax:Web应用的新方式
Jesse James Garrett
2005.02.18
如果说关于交互设计的任何东西可以称之为“迷人”(的话),(那么是因为)它正在改造Web应用。毕竟,上次听到有人抱怨不是构建在Web应用上的产品是什么时候?(OK,除了iPod).在线的创新工程都是很Cool的。
尽管如此,Web交互设计者除了羡慕桌面程序的同事们外没什么办法。桌面程序是易于响应的,这个在Web程序看来是不可企及的。简易让Web程序迅速推广的同时,也在Web程序和桌面程序的用户体验之间产生了巨大的差距。
这个差距在消失,看一下Google Suggest,观察提示项随着你的输入而变化的方式,几乎是实时的。在看一下Google Maps,放大,用光标抓取地图,并卷动一点,同样,一切都是瞬间的,没有等待页面的重新加载。
Google Suggest 和Google Maps是Web应用新方式的两个例子,这种方式在我们Adaptive Path 内部已经称之为Ajax。这个名称是Asynchronous JavaScript + XML的缩写,它表示在Web上可能的基础转变。
Ajax的定义:
Ajax不是一个技术,它是由多个技术以一种强有力的方式聚合在一起,每一个技术在各自的领域都得到广泛的应用。Ajax有如包含如下技术:
1.Html和Css基于标准呈现。
2.DOM动态显示和交互。
3.XML和XSLT进行数据的交换和操作
4.XMLHttpRequest异步地获取数据
5.JavaScript连接上述四种技术
经典的Web应用是这样工作的:大多数用户交互的动作都会触发一个Http请求回传到服务器端。服务器端做一些处理---获取数据,统计数字,和各种各样(legacy 意为遗产)的系统交互---然后返回一个Html页面给客户端。这种模式来自于Web的最初应用,作为超文本的容器,但是正如用户体验的要素的fans们认为的那样,Web作为超文本的容器工作得很好不见得作为软件应用也会工作得很好。
这种方式包含很多技术,但并给用户的体验并不怎么好,当服务器在做处理的时候,用户在干什么?等待。并且在一个任务的每一步,用户都要等待。
很明显,如果我们要把Web作为应用的话就不能让用户过多的等待。当用户界面加载完毕后,用户为什么要在程序需要从服务器端获取数据的时候都要暂停?也就是说,客户为什么要知道应用在返回服务器端?
Ajax的不同之处
Ajax Web应用通过在用户和服务器端引入中间层Ajax的做法消除了Web上的开始-停止-开始-停止这一自然的交互。看起来在应用中添加一层的做法会降低程序的响应,但是事实恰恰相反。

图一.经典的Web应用模式(左)和AjaxWeb应用模式(右)的比较
在会话开始的时候,浏览器不是加载一个页面,而是加载Ajax引擎---用JavaScript写成,通常放在一个隐藏的框架里。这个引擎负责呈现用户看到的界面和当用户操作时与服务器端的交互。Ajax引擎使得用户和应用的交互是异步发生的---与服务器的交互是独立的。因此用户永远不会盯着空白的浏览器,看着沙漏,等着服务器处理。

图二.传统的Web应用的同步交互模型(上)和Ajax应用的异步交互模型(下)的比较
通常要触发一次Http请求的用户动作被一次向Ajax引擎提交的JavaScript请求所代替。用户动作的任何响应都不需要对应一次对服务器端的请求---比如数据验证,内存力的数据编辑,甚至一些导航---引擎自己处理这些事情。如果引擎需要服务器端的数据进行响应---需要提交处理的数据,加载交互的代码,获取新的数据---引擎异步地进行这些请求,通常采用XML,不会在用户和应用之间的交互造成延迟。
谁在应用Ajax
译注:主要是讲了Ajax应用的例子,这一段就不翻译了。
前瞻:
创建Ajax应用最大的挑战不是技术,Ajax的核心技术已经成熟,稳定,并被很好地理解了。最大的挑战是应用的设计者:忘记我们了解到的Web应用的局限,开始想像更广,更丰富的可能。
译文结束
这篇文章翻译得真是别扭,有些句子感觉只能意会不可言传,能力有限,很多翻译非常蹩脚,没办法,哈哈。
正如很多人说得那样,Jesse James Garrett在这篇文章里只是提到了一个概念,把以前的别人一直在使用的技术拿来总结一下,他提到的东西,甚至连我们这样的菜鸟在一年前就应用了,但是大师就是善于总结,牛顿不就是总结别人的东西得出三定律的嘛!
对于我们来讲,他最大的贡献是他给出了提到的每项技术的一个链接,里面有几个技术的经典解释,用空翻译一下。
Ajax:Web应用的新方式
Jesse James Garrett
2005.02.18
如果说关于交互设计的任何东西可以称之为“迷人”(的话),(那么是因为)它正在改造Web应用。毕竟,上次听到有人抱怨不是构建在Web应用上的产品是什么时候?(OK,除了iPod).在线的创新工程都是很Cool的。
尽管如此,Web交互设计者除了羡慕桌面程序的同事们外没什么办法。桌面程序是易于响应的,这个在Web程序看来是不可企及的。简易让Web程序迅速推广的同时,也在Web程序和桌面程序的用户体验之间产生了巨大的差距。
这个差距在消失,看一下Google Suggest,观察提示项随着你的输入而变化的方式,几乎是实时的。在看一下Google Maps,放大,用光标抓取地图,并卷动一点,同样,一切都是瞬间的,没有等待页面的重新加载。
Google Suggest 和Google Maps是Web应用新方式的两个例子,这种方式在我们Adaptive Path 内部已经称之为Ajax。这个名称是Asynchronous JavaScript + XML的缩写,它表示在Web上可能的基础转变。
Ajax的定义:
Ajax不是一个技术,它是由多个技术以一种强有力的方式聚合在一起,每一个技术在各自的领域都得到广泛的应用。Ajax有如包含如下技术:
1.Html和Css基于标准呈现。
2.DOM动态显示和交互。
3.XML和XSLT进行数据的交换和操作
4.XMLHttpRequest异步地获取数据
5.JavaScript连接上述四种技术
经典的Web应用是这样工作的:大多数用户交互的动作都会触发一个Http请求回传到服务器端。服务器端做一些处理---获取数据,统计数字,和各种各样(legacy 意为遗产)的系统交互---然后返回一个Html页面给客户端。这种模式来自于Web的最初应用,作为超文本的容器,但是正如用户体验的要素的fans们认为的那样,Web作为超文本的容器工作得很好不见得作为软件应用也会工作得很好。
这种方式包含很多技术,但并给用户的体验并不怎么好,当服务器在做处理的时候,用户在干什么?等待。并且在一个任务的每一步,用户都要等待。
很明显,如果我们要把Web作为应用的话就不能让用户过多的等待。当用户界面加载完毕后,用户为什么要在程序需要从服务器端获取数据的时候都要暂停?也就是说,客户为什么要知道应用在返回服务器端?
Ajax的不同之处
Ajax Web应用通过在用户和服务器端引入中间层Ajax的做法消除了Web上的开始-停止-开始-停止这一自然的交互。看起来在应用中添加一层的做法会降低程序的响应,但是事实恰恰相反。

图一.经典的Web应用模式(左)和AjaxWeb应用模式(右)的比较
在会话开始的时候,浏览器不是加载一个页面,而是加载Ajax引擎---用JavaScript写成,通常放在一个隐藏的框架里。这个引擎负责呈现用户看到的界面和当用户操作时与服务器端的交互。Ajax引擎使得用户和应用的交互是异步发生的---与服务器的交互是独立的。因此用户永远不会盯着空白的浏览器,看着沙漏,等着服务器处理。

图二.传统的Web应用的同步交互模型(上)和Ajax应用的异步交互模型(下)的比较
通常要触发一次Http请求的用户动作被一次向Ajax引擎提交的JavaScript请求所代替。用户动作的任何响应都不需要对应一次对服务器端的请求---比如数据验证,内存力的数据编辑,甚至一些导航---引擎自己处理这些事情。如果引擎需要服务器端的数据进行响应---需要提交处理的数据,加载交互的代码,获取新的数据---引擎异步地进行这些请求,通常采用XML,不会在用户和应用之间的交互造成延迟。
谁在应用Ajax
译注:主要是讲了Ajax应用的例子,这一段就不翻译了。
前瞻:
创建Ajax应用最大的挑战不是技术,Ajax的核心技术已经成熟,稳定,并被很好地理解了。最大的挑战是应用的设计者:忘记我们了解到的Web应用的局限,开始想像更广,更丰富的可能。
译文结束
这篇文章翻译得真是别扭,有些句子感觉只能意会不可言传,能力有限,很多翻译非常蹩脚,没办法,哈哈。
正如很多人说得那样,Jesse James Garrett在这篇文章里只是提到了一个概念,把以前的别人一直在使用的技术拿来总结一下,他提到的东西,甚至连我们这样的菜鸟在一年前就应用了,但是大师就是善于总结,牛顿不就是总结别人的东西得出三定律的嘛!
对于我们来讲,他最大的贡献是他给出了提到的每项技术的一个链接,里面有几个技术的经典解释,用空翻译一下。
浙公网安备 33010602011771号