本文是一个小型系列文章中的第二篇,至此,我们已经得到了一个很棒的小 Ajax 应用程序。然而,本文更多关注的是 XmlHttpRequest 调用(如 send() 和 setRequestHeader())以外的事情。实际上,这是大多数有经验的 Ajax 开发人员都知道的 “小秘密”:Ajax 只需要很简单的技术。使用一点 JavaScript — 甚至都不必使用像 Dojo 或 Prototype 这样的可以使事情变得更简单的现成库 — 您就差不多完成了 90% 的任务。若能再加入一些 DHTML 或是 DOM,您就是百分之百的专业人士了。当然我是指技术方面。
一个好的 Ajax 开发人员的衡量标准是他将如何处理应用程序的各个组成部分及其用户界面。应用程序的观感如何?(还记得我们在上一篇文章中曾讨论过为何可用性对 Ajax 应用程序如此关键么?)服务器端的组件只提供了最低数量的有效格式的数据?Ajax 代码由于必需要应付各种数据处理从而减缓了本应快捷的用户界面?再有,您很好地使用异步性了吗?在本文中,我们对应用程序进行了改动,让其只对应于单击事件来检索数据,因此,我们不会因鼠标在其上移动而为此图像拉出数据。这种可用性很好:在需要时,信息就会出现,但我们还不知道用户将会怎样使用这些信息。
|
总之,Ajax 更多地关乎设计和架构,而不是纯技术性的。通过 developerWorks 上其他的系列文章(比如我的 掌握 Ajax 系列,包括 12 个部分)可以了解更多具体细节,但需要强调的一点是正是 UI 设计、好的用户测验和清晰的思路才是获得成功 Ajax 应用程序的关键。举个例子:在很多实现中,Google Map 并没有真正的异步行为,并且处理界面中涉及了 “Ajax ” 的部分的代码也相对比较简单。但处理界面却要用去大量的工时,比如,东西要放在屏幕上的什么位置?有何选项可用?如何控制它们?这些与 Ajax 技术没有太大关系,但它们都会对应用程序产生影响。
|
在我们结束第 2 部分时,可以花一点时间调整一下此应用程序的用户界面。将文本信息移到左边;应用程序有什么变化么?如果想要单击图像后出现有关该图像的细节信息,又会怎样?整体印象有何不同?再试着处理服务器端组件;让返回的信息增加或减少。注意到有何变化么?
实际上若能在这个简单的示例上多花些时间,同样可以对什么能让应用程序 “可用” 以及什么可以导致应用程序 “沉闷” 有一个更好的理解。为了不冒犯他人,我就不罗列那些沉闷的在线站点了,但只要搜一搜,就能发现很多这样的站点。它们给人的感觉为何如此?可以从中学到什么教训?顺着这个思路走下去,您很快就能自己开发出很棒的 Ajax 应用程序了。
|
| 描述 | 名字 | 大小 | 下载方法 |
|---|---|---|---|
| 示例应用程序 | wa-aj-backendsamples.zip | 280KB | HTTP |
| 示例应用程序 | wa-aj-backendhoverbox.zip | 282KB | HTTP |
| 示例应用程序 | w-aj-backendsampleData.sql.txt | 12KB | HTTP |
| 关于下载方法的信息 | ||||
学习
获得产品和技术
讨论
|
|
Brett McLaughlin 从 Logo 时代就开始使用计算机。(还记得那个小三角吗?)近年来他已经成为 Java™ 和 XML 社区最知名的作家和程序员之一。他曾经在 Nextel Communications 实现过复杂的企业系统,在 Lutris Technologies 编写应用程序服务器,最近在 O'Reilly Media, Inc. 继续撰写和编辑这方面的图书。在他的新书 Head Rush Ajax 中,他为 Ajax 带来了获奖的创新方法 Head First。他的上一本书 Java 1.5 Tiger: A Developer's Notebook 是第一本可获得的关于最新版本 Java 技术的书籍,而他的经典著作 Java and XML 仍然是在 Java 语言中使用 XML 技术的权威图书。 |
|