1.7 设计考虑 1.8 小结

既然对在哪里使用Ajax已经有所认识,下面再来谈谈应用Ajax的一些设计考虑。许多原则与Web应用的原则并无不同,不过还是有必要强调一下。要尽力减少客户和服务器之间的通信量。如果应用得当,Ajax会使你的应用响应更快,但是如果每次用户从一个域移到另一个域时你都来回传递超量的数据,用户肯定不会满意。如果有疑问,按标准约定行事。如果大多数应用都那么做,可能你也应该那么做。如果还有问题,可以看看Web桌面应用的有关标准。为此已经建立了一些模式,而且以后还会有更多的模式www.ajaxpatterns.org)。

在刚开始使用Ajax时,你的用户可能不清楚应用的工作机理的。多年来我们一直在告诉用户:Web是以某种(同步)方式工作的,而Ajax则增加了异步组件,可能与之背道而驰。简单地说,不要让用户觉得奇怪。当用户用跳格键离开最后一个域时,如果以前的应用(没有使用Ajax的应用)没有保存表单,那么使用Ajax之后的应用也不要保存表单。

实现Ajax时最重要的问题是要力求简单,完全从用户出发,要尽量“傻瓜化”。要把用户放在心上,不要去做“简历驱动的设计”[4]。如果只是想让新老板接受你,并因此在应用中使用Ajax,这是不合适的;如果使用Ajax能让你的用户有更丰富的体验,那就义无反顾地使用Ajax吧。但是别忘了,你会做,并不意味着你应该做。要理智一些,先考虑你的用户才对。

我们后面还会更多地谈到安全,但是这里需要先说明一点,Ajax有一些安全考虑。记住,可以在浏览器中查看源代码,这说明任何人都能知道你是怎么创建小部件的。建立XHR对象时必须包含统一资源定位符(uniform resource locatorsURL),所以可能会有恶意用户修改你的网站,运行他们自己的代码。谨慎地使用Ajax可以降低这种风险。

1.8 小结

因特网最初只是为连接研究人员,使他们共享信息,时至今日,因特网已经得到了巨大的发展。因特网开始时只有简单的文本浏览器和静态页面,但是如今几乎每家公司都有一个亮丽的网站,想找到一个粗糙的网站倒是很不容易。最早谁能想得到,有一天人们能在网上共同研究新型汽车,或者购买最新的斯蒂芬·金的小说呢?

胖客户应用的开发人员都饱受部署之苦,因为要把应用部署到数以千计的用户机器上,他们急切地希望Web能够减轻他们的负担。多年以来,已经出现了许多Web应用技术,有些是专用的,有些需要高超的编程能力。尽管这些技术在用户体验方面各有千秋,但没有哪个技术能使瘦客户应用达到桌面应用的水平。不过,由于很容易部署,有更大的客户群体,而且维护开销更低,这说明尽管浏览器存在一定的局限性,但仍是许多应用的首选目标平台。

开发人员可以使用一些技巧来绕过因特网的麻烦限制。利用各种远程脚本方法和HTML元素,开发人员可以与服务器异步地通信,但是直到有主流浏览器对XMLHttpRequest对象提供了支持,真正的跨浏览器方法才有可能。GoogleYahooAmazon等公司已经走在前面,我们终于看到基于浏览器的应用也能与胖客户应用不相上下。利用Ajax,你可以尽享这两方面的好处:代码位于你能控制的服务器上,而且只要客户有浏览器就能访问一个能提供丰富用户体验的应用。



posted on 2008-03-26 15:31  bailingewei  阅读(128)  评论(0编辑  收藏  举报