首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

1.6  Ajax是什么

简单的回答是,Ajax是一种创建交互式Web应用程序的方式。这究竟是什么意思呢?我们来考虑一下可能通过Web站点做的事情。例如,你可能想和自己的朋友出去吃饭。所以,你希望知道如何从当前的地点到达市内大家都在谈论的那家有名的新餐馆。你决定到一个提供地图的Web站点上查找路线。你会进入这个站点,输入餐馆的地址,站点会显示一张标出了这个餐馆的地图。这个站点会显示带边框的地图,如果希望改变地图的视域,那么可以点击边框(图1-3)。点击边框,等5~10秒,地图就会重新绘制,如果希望再次改变视域,就重复操作。这个过程很慢,而且响应性很差。如果能够点击地图,向希望的方向拖动它,地图视域就会随着鼠标拖动而移动,那么不是更好吗?

图1-3  这个MapQuest地图要花很长时间来响应用户点击,因为它需要从服务器刷新许多信息才能完成视域的改变

可以通过用Ajax构建的Web应用程序向用户提供这种动态的交互性(图1-4)。这样的话,用户几乎不需要等待;用户一直有控制能力;而且可以创建用户体验与传统桌面应用程序相同的基于Web的应用程序。这样,用户就能够更快更轻松地查明如何从家里到达那家有名的餐馆。

图1-4  支持Ajax的Google Maps可以提供更流畅更具交互性的用户体验

Ajax是Asynchronous JavaScript and XML(异步JavaScript和XML)的缩写,这个词是由Web开发人员Jesse James Garrett在2005年年初首创的。严格地说,Ajax只是JavaScript的一小部分(尽管这一部分特别流行)。但是,随着频繁地使用,这个词不再指某种技术本身(比如Java或JavaScript)。

在大多数情况下,Ajax一般是指以下这些技术的组合:

q XHTML;

q CSS(Cascading Style Sheet,层叠样式表);

q 使用JavaScript访问DOM(Document Object Model,文档对象模型);

q XML,这是在服务器和客户之间传输的数据的格式;

q XMLHttpRequest,用来从服务器获取数据。

这个列表有点儿复杂,尤其是对于在JavaScript或其他Web编程方面经验不太丰富的人。但是,你无需担心,在本书中我们将介绍这些技术。在学到关于Ajax的章节时,你应该已经掌握了组成Ajax的各种技术。

Ajax的好处是,应用程序的大多数处理在用户的浏览器中发生,而且对服务器的数据请求往往很短。所以可以使用Ajax建立功能丰富的应用程序,这些应用程序依赖于基于Web的数据,但是其性能远远超过老式方法,因为老式方法要求服务器发送回整个HTML页面来响应用户操作。

一些公司已经在Ajax方面投入大量资金,尤其是Google,Google已经建立了几个著名的Ajax应用程序,包括Gmail(基于Web的电子邮件)、Google Calendar、Google Suggest和Google Maps。另一个大型的Ajax支持者是Yahoo!,它使用Ajax增强个性化的My Yahoo!门户、Yahoo!首页、Yahoo! Mail,等等。这两家公司都向公众开放了它们的Web应用程序的接口,人们可以使用这些接口建立有意思的新应用程序。例如,许多人为Google Maps创建了mashup(混合程序),这些程序会获得地图并在地图上加上有意思、有用或好玩儿的信息,比如洛杉矶地区所有日本餐馆的位置或电影摄影棚的位置。

ü提示

q 在Google Maps Mania(googlemapsmania.blogspot.com)上可以找到许多Google Maps mashup的列表。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论