借鉴最优秀的 Ajax 应用程序

日期: 2008-01-10 作者:developerWorks 中国 来源:TechTarget中国

  这篇文章着眼于一些最优秀的新一代 Web应用程序,向大家展示了从中能学到什么 —— 模仿最优秀的应用程序是引以自豪的传统。我相信这些站点不会介意的, 毕竟模仿是最诚挚的敬佩。

  然而,我没有把技术层面的问题放在首位。因为这些站点的技术问题 —— 数据如何在 Ajax 中传递,固然重要,但是并不是某个站点赖以成功的关键因素。应该要重点考虑站点是如何使用浏览器的 Ajax 特性结合动态 HTML (Dynamic HTML,DHTML )创建杰出的用户体验的,以及站点是如何与它们的用户社区进行交互的。我将探究所有这些因素,它们和技术一样在站点获得成功的过程中发挥着重要作用。

  Google 地图

  如果 “最具影响力的 Web2.0 应用程序” 设有奥斯卡奖或者金球奖,那么得奖者非 Google 地图 莫属。我清晰地记得我的一些同事第一次看到 Google 地图时的反应:浏览器竟然可以完成这些任务? 在我的印象中,Google 地图重新定义了用户对浏览器中的应用程序的期许,引领了一场 Web2.0 的运动。

  我不太确定这篇文章的读者是否曾经使用过 Google 地图,但不管怎样我还是在 图 1 中展示一下这个站点。

  图 1. Google 地图的最新版

  浏览地图的操作很简单,只需点击和拖拽地图即可,就像是在纸制地图中操作一样。 如果您要寻找路线,则它们会以线条的形式出现在地图中,屏幕不会闪烁、地图也不会移动(除非需要这样做)。 实际上,Google 地图大部分功能的实现都不需要重新与服务器交互以获取一个新的 HTML 页面。

  Google 地图诞生之后,Ajax 和 Dynamic HTML这几个词语永久地刻入了第二次 Web 革命的语言中。但是最让人兴奋地是,严格来讲 Google 地图并不是运行在 Ajax 之上(如果把 Ajax 定义为使用 XMLHTTP 对象发送和接收请求)。Google 地图动态地使用生成的<script>标记与服务器来回传递数据。提前定义 XMLHTTP 对象是一个技巧。

  但是 Google 地图为什么不使用 Ajax 呢? 我不能代表 Google 的工程师发言,但是我感觉 Google 地图的设计灵感来自于 JavaScript 的 “mashup 能力”。

  Mashup

  在文章开头,我谈到了对用户社区的支持。我承认,这有点儿官腔,但我认为这很重要。Mashup 是支持用户社区的根本。 mashup 的意思就是把某个站点的功能与另一个站点的功能合并到一起,然后创建出更加有趣的一些东西。Mashup 的一个很好的例子就是从 Craigslist 获取房屋出租列表并使用 Google 地图反映其位置的站点。

  MapMyRun.com 是Google 地图 mashup 的另一个例子,它使用 Google 地图让赛跑者(或者任何其他人)能计算出地图上各路线的距离。图 2 显示这个功能。

  图 2. Map My Run 界面

  此处,我在左窗格的输入字段中输入起点。然后使用鼠标指定跑步的经过点。当我单击鼠标时,左窗格立刻动态地更新显示出距离。我可以放大地图获得更详细的内容或者切换到卫星模式(如果路线超过了视图)。

  所有繁重的地图绘制工作都是由 Google 地图完成的。MapMyRun 站点只是在地图的表层添加了一些 JavaScript 代码,用于处理鼠标点击和计算距离。

  这样,当我要成功地构建 Web 2.0 应用程序时可以从 Google 地图中获得哪些灵感呢??

  使用浏览器: Google 地图大量地利用了如今浏览器的动态性。使用这些浏览器使用户获得令人赞叹的体验,在体验中用户会对浏览器能完成的功能大为惊讶。

  Ajax 的纯度并不重要:只有少数人知道 Google 地图不是纯粹的 Ajax 应用程序。但是谁会真的在乎这点呢?Google 地图为用户提供了非常优秀的功能。程序中未使用 XMLHTTP 并没有什么关系。不要太专注于一些特定的技术方法了。

  JavaScript mashup:可以通过 JavaScript 编码把某一站点的功能嵌入另一个站点中,这一功能极其令人赞赏。它可提供 viral edge,将您带入实现某种特定功能的源代码。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 八个超实用的jQuery技巧攻略

    jQuery是JavaScript最好的库之一,主要用于制作动画、事件处理,支持Ajax及HTML脚本客户端。文中分享了8个超实用的jQuery代码技巧攻略,希望你会喜欢。

  • HTML5强大功能背后的安全陷阱

    尽管HTML5使网站的功能更为强大,但开发人员需充分利用其新的技术特征来提高网站的安全性,使用不当会带安全问题,你知道吗?

  • 前端页面开发之Node.js初学者指南

    Node.js是刚刚兴起的一个概念,你对它的了解有多少?Node.js的意义是什么,它是怎么发展起来的?Node.js的作用是怎样的呢?

  • 多应用程序开发:挑战ALM

    许多企业正在软件开发中经历同时开发多个软件的阶段,但怎样为业务应用程序开发制订短期和长期计划,以帮助他们的公司变得更成熟或为扩张累计能量?