Web2.0时代的核心应用:Ajax简介

ajax|web|web2

作为J2EE开发人员,我们似乎经常关注“后端机制(backend mechanics)”。我们通常会忘记,J2EE的主要成功之处在Web应用程序方面;许多原因使得人们喜欢利用Web开发应用程序,但主要还是因为其易于部署的特点允许站点以尽可能低的成本拥有上百万的用户。

遗憾的是,在过去几年中,我们在后端投入了太多的时间,而在使我们的Web用户界面对用户自然和响应灵敏方面却投入不足。
本文介绍一种方法,Ajax,使用它可以构建更为动态和响应更灵敏的Web应用程序。该方法的关键在于对浏览器端的JavaScript、DHTML和与服务器异步通信的组合。本文也演示了启用这种方法是多么简单:利用一个Ajax框架(指DWR)构造一个应用程序,它直接从浏览器与后端服务进行通信。如果使用得当,这种强大的力量可以使应用程序更加自然和响应灵敏,从而提升用户的浏览体验。

该应用程序中所使用的示例代码已打包为单独的WAR文件,可供下载。

简介

术语Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验。在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的。

虽然Ajax所需的基础架构已经出现了一段时间,但直到最近异步请求的真正威力才得到利用。能够拥有一个响应极其灵敏的Web站点确实激动人心,因为它最终允许开发人员和设计人员使用标准的HTML/CSS/JavaScript堆栈创建“桌面风格的(desktop-like)”可用性。

通常,在J2EE中,开发人员过于关注服务和持久性层的开发,以至于用户界面的可用性已经落后。在一个典型的J2EE开发周期中,常常会听到这样的话,“我们没有可投入UI的时间”或“不能用HTML实现”。但是,以下Web站点证明,这些理由再也站不住脚了:

  • BackPack
  • Google Suggest
  • Google Maps
  • PalmSphere

所有这些Web站点都告诉我们,Web应用程序不必完全依赖于从服务器重新载入页面来向用户呈现更改。一切似乎就在瞬间发生。简而言之,在涉及到用户界面的响应灵敏度时,基准设得更高了。

定义Ajax

Adaptive Path公司的Jesse James Garrett这样定义Ajax:

Ajax不是一种技术。实际上,它由几种蓬勃发展的技术以新的强大方式组合而成。Ajax包含:

  • 基于XHTML和CSS标准的表示;
  • 使用Document Object Model进行动态显示和交互;
  • 使用XMLHttpRequest与服务器进行异步通信;
  • 使用JavaScript绑定一切。

这非常好,但为什么要以Ajax命名呢?其实术语Ajax是由Jesse James Garrett创造的,他说它是“Asynchronous JavaScript + XML的简写”。

Ajax的工作原理

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。

在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。下面是使用Ajax可以完成的功能:

  • 动态更新购物车的物品总数,无需用户单击Update并等待服务器重新发送整个页面。
  • 提升站点的性能,这是通过减少从服务器下载的数据量而实现的。例如,在Amazon的购物车页面,当更新篮子中的一项物品的数量时,会重新载入整个页面,这必须下载32K的数据。如果使用Ajax计算新的总量,服务器只会返回新的总量值,因此所需的带宽仅为原来的百分之一。
  • 消除了每次用户输入时的页面刷新。例如,在Ajax中,如果用户在分页列表上单击Next,则服务器数据只刷新列表而不是整个页面。
  • 直接编辑表格数据,而不是要求用户导航到新的页面来编辑数据。对于Ajax,当用户单击Edit时,可以将静态表格刷新为内容可编辑的表格。用户单击Done之后,就可以发出一个Ajax请求来更新服务器,并刷新表格,使其包含静态、只读的数据。

一切皆有可能!但愿它能够激发您开始开发自己的基于Ajax的站点。然而,在开始之前,让我们介绍一个现有的Web站点,它遵循传统的提交/等待/重新显示的范例,我们还将讨论Ajax如何提升用户体验。

Ajax可用于那些场景?——一个例子:MSN Money页面

前几天,在浏览MSN Money页面的时候,有一篇关于房地产投资的文章引起了我的好奇心。我决定使用站点的“Rate this article”(评价本文)功能,鼓励其他的用户花一点时间来阅读这篇文章。在我单击vote按钮并等待了一会儿之后,整个页面被刷新,在原来投票问题所在的地方出现了一个漂亮的感谢画面。

而Ajax能够使用户的体验更加愉快,它可以提供响应更加灵敏的UI,并消除页面刷新所带来的闪烁。目前,由于要刷新整个页面,需要传送大量的数据,因为必须重新发送整个页面。如果使用Ajax,服务器可以返回一个包含了感谢信息的500字节的消息,而不是发送26,813字节的消息来刷新整个页面。即使使用的是高速Internet,传送26K和1/2K的差别也非常大。同样重要的是,只需要刷新与投票相关的一小节,而不是刷新整个屏幕。

让我们利用Ajax实现自己的基本投票系统。

[1] [2] [3]  下一页

时间: 2024-12-22 13:27:27

Web2.0时代的核心应用:Ajax简介的相关文章

总结Web2.0时代最关心的话题

中介交易 SEO诊断 淘宝客 云主机 技术大厅 Web2.0影响了个人和企业 以门户为王的Web1.0时代,互联网对于网民而言更多的是一种工具,电脑对于白领是台打字机.对小孩是台游戏机;互联网对于企业就是张内容.形式不受限制的名片,对于个人也就是个浏览新闻.打字游戏的家用电器.到如今这个革新中的Web2.0时代,人们将越来越多地因为Web2.0,而改变自己的生活方式.Web2.0最初是相对与传统门户提出的概念,它更多代表一种以用户为中心的服务理念.而不仅仅是技术,以博客的广泛应用为代表,每个人都

web2.0时代还有什么网站不是社区的

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 web2.0是用户贡献内容的时代,是网站和用户.用户和用户互动的时代,web2.0的本质属性就是社区. web2.0就是社区,那么社区又是什么呢? 当德国社会科学家滕尼斯1887年在<社区与社会>一书中最早提出社区这一概念时,了解.关注它的人微乎其微.即使到了1933年,费孝通和燕京大学的几个同学翻译美国社会学家帕克的社会

凤凰新媒体王育林:Web2.0时代还没有完全到来

8月24日早间消息,http://www.aliyun.com/zixun/aggregation/1717.html">凤凰新媒体执行副总裁王育林今天上午在互联网大会现场表示,现在很多人讲是不是Web3.0已经来了.我们回想一下当时说的Web2.0的概念,我们认为用户创作内容.用户传播内容的时代,这是我们当时说的Web2.0.但是现在我们回过头来再看,我们自己认为其实Web2.0时代确实到来了,但是还没有完完全全的到来. 以下为王育林演讲实录: 王育林:各位嘉宾.同行大家上午好!2011

IM营销之一:IM将会是web2.0时代不可忘记的“手机”

真正将世界连接成一个不受地域限制的大家庭的,有一项发明功不可没,这就是电话.而随着频繁移动的需求,手机逐渐替代了固定电话成为人类生活和工作中不可或缺的一部分,从最早的大哥大到现在的智能手机,已经成为人类沟通的主要方式.而在互联网时代,尤其是web2.0时代,IM(即时通讯)正逐渐成为人类的另外一部"手机". 贺岁片<手机>在http://www.aliyun.com/zixun/aggregation/34800.html">黑色幽默中展现了人类对手机的依赖

Web2.0时代带来的那些喜与悲

不知从什么时候开始,在路上.在电梯里.在饭桌前,和朋友间.同事间的寒暄和沟通突然少了,似乎大家一夜间都成了"网络控".偶尔聊几句也是"三句话不离互联网",譬如,我http://www.aliyun.com/zixun/aggregation/8318.html">微博粉丝已经多少多少了.我在淘宝上淘到一件宝贝.我在啊呦网上拿到了XXX餐馆的5折优惠等等.网络已经成为我们每天生活中的必需品,现代人的基本需求可以称之为"衣食住行+网络"

Web2.0时代的最大特点:无聊的力量

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 让小人物的一举一动可以改变历史,这就是无聊的力量. 在Web2.0时代做内容,最大的特点将是显示"无聊的力量".无聊的意思,是指"无意义";这里的"意义",是指站在主流化立场上的意义;它的反面,恰好是多元化的意义.因此,"无聊"就是特指网络"节点&quo

播客:Web2.0时代的最好注脚

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 在这个被贴上Web2.0标签的互联网的时代,新兴的网络事物每隔一段时间就要刷新我们头脑的当前页.当"博客"还方兴未艾,播客又如潮水般涌入我们的网络生活.Web2.0时代,用户既是网络内容的消费者,也是网络内容的制造者.在博客为普通人夺过话语权后,播客又在视频.音频领域冲击着媒体的门槛. 在Web2.0时代构建的自由舞台上,世界被网络铲平,人人生而平等.世界各地的人们从采用同样科技的平台中获取知识和灵感,在相同的技术土壤上,生长出各

web2.0时代的互联网创新指南

想得到,就能做得到!--这就是互联网的魅力所在. Web2.0时代的创新指南归根结底就是:注重网站与用户之间的互动,无论是提供内容还是浏览获取信息,都要突出互动! 这个标题很大,只是延续上一篇互联网商业模式汇总未完的地方,是自己一些简单想法的记录而已. 先要解释什么是Web2.0,Web2.0是现在互联网的热门概念,实质上没有严格的定义.一般来说Web2.0是相对Web1.0的新的一类互联网应用的统称.Web1.0的主要特点在于用户通过浏览器获取信息,Web2.0则更注重用户的交互作用,用户既是

Web2.0时代:时间轴或成社交网站必备利器

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 社交网站,聚集人气要有超级吸引力的产品,从目前看,无论是国内创业公司还是发展成熟的互联网大佬,从其争相上线时间轴可见,未来,行业竞争的必备利器将是时间轴. IT商业新闻网讯](记者 叶舟)时间轴是个什么东西,如果你还不知道,那么你已经OUT了. 时间轴的制作主要是运用动画的形式,把多张图片故事用时间轨迹串联.纵观时间轴就是一份完整的历史资料.