当前页面位置: » 丰搜网 » 文档中心 » 详细内容
ajax: web应用的新方法
ajax: web应用的新方法作者: jesse james garrettpawenwen
版权声明:任何获得matrix授权的网站,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
作者:jesse james garrett;pawenwen
地址:http://www.matrix.org.cn/resource/article/43/43904_
ajax.
html关键词:
ajax如果世界上有一件事物的交互性设计能被称为“迷人” 的话,那就是创建了
web应用了。毕竟, 不知道你上一次没有在
web上听说有人在叫嚷一个产品的交互性设计的时候是多久(好, ipod除外。) 都冷静下来, 创新的新项目正在线上。
尽管如此,
web交互性设计没有任何帮助,倒是对我们开发桌面软件的同事有点羡慕。桌面应用程序看起来有
web不可能达到的美丽和快速响应。启用
web迅速扩散一样的简单也创造了一个我们提供的信息已经用户能从桌面应用程序得到的信息之间的差距。
这段差距正在逐渐被填平。 看一看google suggest。看看根据你的键入更新已建议的项目的方式,几乎是立即的。现在看看google maps。放大。使用你的鼠标来抓取地图并在周围移动。同样的,一切都几乎立即发生, 没有等待页面的重新载入。
google 建议和google地图是对
web应用的一种新方法的两个例子,此方法我们在adaptive path网站中叫着
ajax。此名是异步
javascript +
xml的缩写,它代表了一个在
web中可能的基本变化。
定义ajaxajax并不是一项技术。 它实际上是几项技术, 每个都本身之能力而发展, 组合在一起形成了一个更强的新方法。
ajax组合了:
·使用x
html和
css的standards-based presentation;
·使用 document object model 来动态显示和交互作用;
·使用
xml and xslt 来数据交换和操作;
·使用
xmlhttprequest来获取异步信息;
·使用
javascript 将所有的联系起来。
传统的
web应用
模式工作流程是这样的:多数的用户在界面活动触发一个http 请求传到
web服务器。
服务器做一些处理-数据检索, 缓慢的编号, 与不同的遗传系统交互-然后回传
html页面到客户端。 这是一个适应于
web作为超文本媒体原始用途的
模式, 但是如同the elements of user experience的爱好者所了解的, 让
web更好的为超文本服务不一定要使它更好的为软件应用程序服务。
图 1:
web应用的传统
模式(左)与
ajax模式(右)的比较.
这个方法使用了大量的技术理论,但它却不依靠大量的用户经验。当
服务器做自己事的时候, 用户再做着什么呢? 对, 在等待。并且在一个任务中每一步, 用户都在等待。
明显地,如果我们从头为应用设计
web,我们不会再让用户等待。一旦界面被装载, 为什么用户交互当申请需要从
服务器获取信息的时候每一次都要停下来? 实际上, 为什么用户总使能感觉到申请到了
服务器呢?
ajax有何不同ajax应用引入了一个中介来消除开始-停止-开始-停止的交互现象-
ajax 引擎-在用户和
服务器之间。它看起来好像在应用中添加了一层来减少交互,但事实并非如此。
在会话开始而不是装载页面的时候,浏览器装载了
ajax引擎-由
javascript写的通常包含在一个隐藏
框架中。这个引擎的负责是更新用户所看到的界面以及根据用户的行为与
服务器通信。
ajax 引擎允许用户的申请交互异步发生-独立于与
服务器的通信。如此用户就不必在一个空白的浏览器窗体和沙漏图标前等待
服务器操作了。
图 2: 一个传统的
web应用同步交互
模式(上)与一个
ajax应用的异步
模式(下)的比较。
通常会生成一个http 请求的每个用户活动改为采取
javascript调用
ajax引擎的形式替代。对不要求返回到
服务器的任何用户活动的回应-譬如简单的数据验证,都在内存中编辑数据,并且甚至是一些导航-引擎都自己操作。如果引擎需要
服务器的回应-如果它提交数据处理,装载额外的界面代码,或检索新数据-引擎异步的提交那些请求,通常使用
xml,在应用中没有使用户的交互停止。
谁正在使用ajaxgoogle在开发
ajax方法上做了巨大的投资。去年google介绍的所有主要产品-orkut,gmail,google groups的最终
测试版,google suggest,以及google maps-都是
ajax的应用。(要了解更多关于
ajax执行的具体细节,可去查看gmail, google suggest, 以及google maps的优秀分析。) 也有其他的例子:人们喜欢去的flickr也有许多的特点建立在
ajax上,以及amazon的a9.com搜
索引擎也提供了同样的技术。
这些项目都证明了
ajax不仅是理论上的技术,而且也是实际的现实生活中的应用。这并不是一个只在实验室里工作的技术。并且
ajax应用可以是任一个范围,从非常简单功能单一的google 建议到非常复杂和成熟的google地图。
在adaptive path,在近几个月来我们利用
ajax完成了自己的工作,并且我们体会到我们只是对
ajax应用可能提供的丰富交互和快速响应尝试了一点皮毛。
ajax是
web应用的一个重要发展,并且它的重要性正在扩大。并且因为有许多开发员已经会使用这些技术, 我们准备看许多组织在google 的带领下分享
ajax提供的好处。
继续前进在创建
ajax中最大的挑战不是技术。核心
ajax 技术是成熟的, 稳定的, 并且易于了解。 反而, 挑战来自应用的设计人员:忘记那些我们所知道关于
web的限制, 并且开始想象一个可能更宽, 更广的范围。
那就将更美好。