一、引言
一个理想的用户接口对用户最好是不可见的-仅在用户需要时提供选择,否则并不干涉他们的工作而让其专注于手头的工作。然而,这并不是一件容易的事情。如今,我们变得习惯于通过并不十分令人满意的ui进行日常工作,直到有人向我们展示一种更好的方法。 现在,我们才逐渐认识到我们当前的方法在做这些事情时是多么吃力。
由于用于显示文档内容的基本web浏览器技术又被推进一步进而超出以前它们所能及的范围,所以,如今的互联网正在经历着这样的实现。
ajax(异步javascript+xml)是一个非常新的名字,为adaptive path的jesse james garrett所创建。其中,ajax的某些部分以前被描述为动态html和远程脚本。
ajax的出现不仅仅是一个新名字的问题。从技术和商业的角度看,围绕ajax还有大量激动人心的东西。从技术上讲,ajax实现了web浏览器技术中大量的尚未实现的潜力。从商业上看,google和其它一些主要商家正在逐步使用ajax技术,从而让公众认识到一个web应用程序所能做的事情。
以前我们习惯的典型web应用程序如今正在承受着巨大的压力,因为逐渐复杂的基于万维网的服务正日趋成熟并开始应用于互联网。各种新技术争相涌现出来以克服这些问题,而ajax仅使用现有的互联网技术就能够更好地表达这些思想。
利用ajax,我们重用了一堆原有技术但却扩展了它们原来所能及的范围。我们需要能够管理这种我们引入的复杂性。本文将讨论怎样实现这些技术,而且还要讨论一下管理大型ajax工程的问题。我们将介绍ajax设计模式及其怎样帮助我们完成工作。设计模式帮助我们捕获我们的知识和经验,用我们现在的技术并且使之与其它对象进行通讯。通过把规则引入到代码基之上,它们就能够方便创建应用程序-可以据变化对工程加以修改和扩展。使用设计模式进行开发甚至是一种喜悦!
为什么说ajax是丰富的客户端?
构建一个丰富的客户端接口比设计一个web页面要复杂。那么是东西导致我们这样做的?好处有哪些?什么是丰富的客户端?
一个丰富的客户端有两个关键特点:它是丰富的,而且它是一个客户端。
让我稍作解释。丰富指的是客户端方式。一个丰富的客户端模型-是指它能够支持各种输入方法且能够直观又非常及时地作出响应。尽管我们称其为"丰富的",但是它必须与象字处理器和工作表等现代桌面应用程序一样好才真正丰富。下面让我们看一下为达此目的所具体要求的实现技术。
二、比较用户体验
在这里,让我们讨论一个工作表程序的实例。当我在工作表输入一些简单的公式时,我可以有几种方式与之交互-现场编辑数据,用键盘和鼠标导航数据和通过鼠标拖动重新组织数据。
当我在操作这些时,软件给我反馈-鼠标光标形状改变,当我在按钮上移动时按钮高亮,选定的文本改变颜色,高亮的窗口和对话框以不同形式显示,等等(图1)。