打造可靠的 Ajax 应用程序

如今,Ajax 仍然是业界的热门字眼,越来越多的应用程序都采用 Ajax 技术构建。然而,构建一个 好的 应用程序并不容易。本文将着重讨论如果构建直观易用的受 Ajax 驱动的应用程序。

Ajax 并不只是一种技术。大多数开发人员却认为它是,并试图借助诸如 XML 和 JavaScript 这类语言证明其观点。但这种观点非常局限,并且,忽视了付钱给您的人:客户,不管是咨询代理还是您的老板(只有您建立了令人满意的用户群,他们才能获得收入)。

客 户并不关心技术;他们关心的是应用程序的外在表现如何,以及当他们通过鼠标和键盘操作时,应用程序如何响应。您可以将世界上所有的技术都构建到应用程序 中,而此应用程序却不一定能有多成功,您也可以构建一个非常简单的 HTML 应用程序,它却可以工作得很好。因此,我们的目标是要结合技术和可用性,这一点对 Ajax 应用程序而言尤其正确。

developerWorks Ajax 资源中心

请访问 Ajax 资源中心,这里几乎囊括了关于 Ajax 编程模型的所有信息,包括各种文章、教程、论坛、博客、wikis、活动和新闻。

Ajax 的承诺

了解 Ajax 所能提供的功能对于开发人员和用户而言都非常重要。不管您是否将应用程序定义为 Ajax,人们对 Web 应用程序都有了更高的期望,如果想要让客户满意,最好了解这些期望。

可用性

首 先,Ajax 关乎可用性。有些开发人员可能会奇怪,因为 Ajax 已经给人们带来了瞬间的响应时间、小部件和可视工具以及各种各样的 GUI 元素。这些绝对是 Ajax 体验的一部分,但是大多数用户 — 而非开发人员 — 只是发现 Ajax 应用程序更好用。它们能像用户期望的那样响应,应用程序的元素 — 字段、按钮和图像 — 均符合用户的期望。

其 结果就是应用程序很好使用。用户无需做很多查找,比如查找 zip 代码字段在哪以及又该如何在地图上做缩放。如果所设计的是 Ajax 应用程序(并且即使设计的不是这类应用程序),就应该争取达到同等的可用性程度。用户试用和常识是最好的指导,接下来,我们将讨论一些可用来确保应用程序 可用和直观的简单方法。

响应性

处 理完可用性后,就需要处理 Ajax 应用程序的响应性了。初看上去,这似乎是有关速度的问题。Ajax 应用程序无需在每次发生事件时都向服务器端程序提交并刷新页面,这意味着等待的减少(至少理论上如此)。然而,Ajax 特性的这一部分多少有点人为因素。在 DSL 世界,等待并不是很多。您的母亲和祖母可能用的是有线 modem,而不是拨号上网,如果您在工作中阅读本文,那么很可能所用的网络是 T1 或 T3。Ajax 应用程序的速度天生较快,这一点很难理解(如果速度真的较快,快多少?10 毫秒?100 毫秒?您知道这意味着多么短的时间么?)。

然而,Ajax 应用程序应该比传统应用程序有更好的响应性。这不仅仅是指速度这一个方面,它还涉及到了应用程序给人的感觉如何(而这主要体现在可用性和界面)。比如,假设您输入自己名字并开始选择您所喜欢的 Crocs 的颜色,在您进行其他操作的时候,程序会有很多时间执行其他任务。所以应用程序可能会获取您的地址、所保存的信用卡信息,可能还有您之前在访问这家网上商店时已经标示为朋友的那些人。所有这些信息可能会花费很多时间,但如果您正在忙着做其他一些事情,并且这些信息已经显示为可用,那么会觉得应用程序响应性 非常好。

需要一些技巧的是 — 我们将会对此详细加以讨论 — 何时开始制造 这种响应性。通过以特定的方式在应用程序中排列字段,就会知道用户将要遵循的操作流程。这样一来,我们就可以编写 Ajax 交互程序以便利用这一流程。请记住这一点,我们先对其稍做论述,稍后我们再用特定的示例回到这一主题。

是否需要桌面应用程序?

人 们一直尝试使用 Ajax 将每个 Web 应用程序都转变为桌面应用程序。这听起来很棒,但在实践中并不能很好地工作。我曾使用过一个基于 Web 的流行的 Web/个人生产力套件来模仿 Microsoft® Office。它能为约会安排给出弹出警示,这看起来很好。正如桌面应用程序 Outlook 或 iCal 一样,对么?惟一的不同是它不是 一个桌面应用程序。它局限于浏览器。

最 终结果如何呢?弹出提示似乎工作得很好 — 但前提是 Web 浏览器必须在屏幕的最前面。如果所使用的 Firefox 浏览器最小化或被挤到 InDesign 或其他应用程序之后,将不能看到弹出提示。它没了。该套件是有问题的,它试图充当桌面应用程序却忘了其本质上是 Web 应用程序。所以不要犯同样的错误!

独特的类桌面界面

这 是最能为人接受而同时又是最难的一个 Ajax 应用程序的特性。我们所说的 “感觉上” 像桌面应用程序,在很多时候,是指 “看起来” 像桌面应用程序。我的公司使用的是 Zimbra 邮件套件,它模仿的是 Microsoft Outlook,我猜想其中的原因一定是觉得看起来像桌面应用程序就会感觉上也像桌面应用程序。

有关这一问 题,有很多不同的见解。有些人认为 Web 的目的就是要成为一种新的桌面。您将使用的是同样的应用程序 — 或其类似物 —,只不过这些程序将都是在线的。初此之外,其余的看起来和感觉上均与之前无异。另一些人(我承认,我更偏向这一阵营)认为 Web 是一种独特的空间,有些地方好于桌面应用程序,有些地方则更差。Web 是其自身的媒介,Web 上的应用程序应该单独设计,而不能只简单克隆桌面应用程序。

不管何种情况,有一点很清楚,即 Ajax 应用程序能够看起来比 1997 年的 HTML 表单要好很多,那时的表单只有大的灰色的 Submit Form 按钮和沉闷的 “border=1” 装饰。所以 Ajax 范型需要更加丰富的体验,即使很多人在如何实现的问题上意见不尽相同。

一个示例应用程序

至此,我们已经讨论了太多的技术和理论上的东西。让我们现在深入一个示例应用程序,开始实践。为了立即开始,我选择使用 Nathan Smith 的 Hoverbox (有关链接,请参看 参考资料 部分)作为起点。Hoverbox 是一个简单的基于 CSS 的 Web 布局,让您可以在图片库的图像上移动并获得该图像的放大视图。图 1 显示了这个默认的 Hoverbox 演示:


本文转自:IBM developerWorks 中国

请点击此处查看全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值