Ajax 正在将我们带入到下一代的网络应用中。 本书深入探讨了动态的网络应用,将Ajax和REST集成在一起作为单独的解决方案。一个很大的优势是,与Ajax相似,REST可以和现今存在的技术一起使用。现在上百万的客户端计算机都是基于Ajax的,上百万的服务器是基于REST的。\r\n 无论你是否已经开发过Ajax应用程序,这都是一本理想的书。因为这本书描述了各种各样的模式和最好的实践经验。通过此书的学习,你可以快速地检查和校验你是否构造了一个高效的Ajax应用程序。 \r\n\r\n作者简介:\r\n Christian Gross是一位咨询顾问、培训师和技术指导,在互联网领域有着非常丰富的经验。他为很多公司做过软件开发和其他的解决方案,包括Altova、戴姆勒-奔驰、微软和NatWest。Gross写过好几本书,包括Applied Software Engineering Using Apache Jakarta Commons,Open Source for Windows Administrators,A Programmer''s Introduction to Windows DNA和Foundations of Object-Oriented ProgrammingUsing.NET 2.0 Patterns。他经常在很多的研讨会上做演讲,包括Software Development、JAX和BASTA,他也是很多研讨会的跟踪主席。
关于作者\r\n关于技术评论员\r\n致谢\r\n简介\r\n第1章 Ajax导言\r\n 一图胜千言\r\n 另一个Ajax的例子\r\n Ajax体系架构基础\r\n 比较Ajax与其他软件类型\r\n 一些最后的思考\r\n第2章 Ajax的具体细节\r\n 为缺乏耐心的人解释Ajax\r\n XMLHttpRequest的细节\r\n 使用工厂模式\r\n 发送异步请求\r\n 将XMLHttpRequest投入实际使用\r\n第3章 内容分块模式\r\n 意图\r\n 动机\r\n 适用性\r\n 相关模式\r\n 体系架构\r\n 实现\r\n 模式要点\r\n第4章 缓存控制器模式\r\n 意图\r\n 动机\r\n 适用性\r\n 相关模式\r\n 架构\r\n 实现\r\n 模式要点\r\n第5章 置换模式\r\n 意图\r\n 动机\r\n 适用性\r\n 相关模式\r\n 体系架构\r\n 实现\r\n 模式要点\r\n第6章 解耦导航模式\r\n 意图\r\n 动机\r\n 适用性\r\n 相关模式\r\n 体系架构\r\n 实现\r\n 模式要点\r\n第7章 表现变形模式\r\n第8章 持久通信模式\r\n第9章 状态导航模式\r\n第10章 无限数据模式\r\n第11章 基于REST的MVC模式\r\n索引
很显然,任何一本标明“模式”的书都不会是一本入门书,因为“模式”一般是与某些通用的设计决策相关的。没错,正如你猜测的那样,这本书确实不是为入门者而写的,它也确实是关于设计的,确切地说,是关于建造Ajax应用时一些软件架构方面的通用的设计决策。
Ajax应用是一种新型的Web应用,它将浏览器端JavaScript的能力拓展到了一个前所未有的广阔程度。在Ajax技术出现之前,浏览器端的JavaScript通常用来做DHTML开发。无论DHTML开发如何复杂,大多数服务器端正统的开发者(例如Java和C#开发者)都将其看作是一种hack,而不是真正“严肃”的编程。当然了,高高在上的“架构”一词也与JavaScript扯不上任何的干系。
但是当DHTML有一天与一种称作XMLHttpRequest新的Web开发技术挂上钩之后,情况就大不相同了。两者相结合的技术就是我们今天称作Ajax的技术,它在2005年2月正式得到了这个名字。如果没有XMLHttpRequest的出现,DHTML的能力是很有限的,很可能永远被看作是一种奇技淫巧,甚至有些声名狼藉。正是XMLHttpRequest的出现使得DHTML与服务器端建立起了密切的联系,而且无须刷新页面——因此可以将大量的状态保存在客户端。有了服务器端的加入,软件的架构问题就显现了出来。开发简单的Ajax应用,可能只须写很少的JavaScript就足够了,但是如果使用Ajax技术来开发一个类似Amazon.com这样的大型电子商务网站,需要解决的问题——灵活性、可维护性、可伸缩性、性能、安全性等等很快都会冒出来。如果你不事先加以慎重考虑,这些架构方面的问题会随着应用的日益复杂而越来越突出,最终将你彻底压垮。这并不是危言耸听,Ajax开发的复杂性相当大,其中涉及的架构考虑也相当复杂。你可以将解决这种复杂性看作是摘取王冠上的明珠——获得优秀的Web可用性所必须付出的代价。就目前而言,无论你采用Ajax、Flash UI或者其他某种RIA技术,这条路都并不好走。
改善Web应用的可用性是有前提的,前提是你的应用首先必须解决好其内在的架构问题。它本身应该是稳定可靠的,不存在严重的架构问题,然后你才可能集中精力去改善它的可用性。如果应用本身存在着大量的架构问题,改善其可用性就会成为一句空谈。可以这样说,应用本身的架构设计是根本,离开了这个根本,追求改善其可用性,将是无源之水无本之木。
《Ajax模式与最佳实践》一书正是一本关于建造Ajax应用时需要解决的架构设计问题方面的专著。作者是资深的软件咨询顾问,有着多年技术咨询的经验,客户包括微软、戴姆勒-奔驰等大公司。作者曾独立或与他人合作写过将近10本著作,涉及多个开发领域。本书中所介绍的各种模式和架构,对于建造高度灵活、高度可伸缩的Ajax应用非常有帮助。
本书的中文版是多人合作的结晶,其中,李锟负责前言部分、第1章-第3章的翻译,蔡毅负责第4章、第6章的翻译,张祖良负责第7章-第10章的翻译,赵泽欣负责第5章、第11章的翻译。最终由李锟负责全书的校对和统稿。在翻译的过程中,李锟因家中发生窃贼入室盗窃,丢失了笔记本电脑,因此丢失了第2章的译文,第2章的内容全部重新翻译。另外由于几个译者工作都很忙,也造成了一些拖延。不过最终还是顺利地完成了这件工作,可谓是好事多磨。感谢博文视点的经理周筠老师、责任编辑晓菲,是她们的耐心保证了本书的质量。博文视点对于出版的书籍一向有很高的质量要求,希望这本书也不会辜负读者的期望。
李锟
2006年11月15日于上海
无封面