《Ajax构建工具箱指南》——一本写给不懂任何程序开发语言读者的书


《Ajax构建工具箱指南》是一本面向初学者,甚至是不懂任何程序开发语言的读者的书——当然,如果读者理解XHTML、CSS、JavaScript或PHP的基本知识会更好。

《Ajax构建工具箱指南》从Ajax的概念被提出到流行以来涌现的众多现实应用中,精心遴选了10个最有实用价值,而且能够实现组件化(或者说“即插即用”式)应用的实例,包括:

1. 在基于Web的电子书阅读器中动态加载章节内容(第3章)
2. 选择并查看实时股票报价(第4章)
3. 将网页变成理解RSS新闻源的新闻聚合器(第5章)
4. 为你的网站添加自动完成功能(第6章)
5. 验证表单数据并实时查询位置数据(第7章)
6. 创建“Web 2.0”式的图像查看器,实现你的页面处理图像方式的现代化(第8章)
7. 使用信息弹出窗口动态显示小块内容(第9章)
8. 为任何链接添加实时天气状况弹出窗口(第10章)
9. 通过U.S. Postal Service Ajax请求动态计算运费(第11章)
10. 在你的网页中加入动态的五星评级系统(第12章)

全书的框架相当简单:

第一部分,“Ajax训练营”——本书这一部分没有过分浪费时间,只是介绍了足够的基础知识,以便你能承受未来的Ajax示例应用程序的冲击力。你 将探索几个商业上的真实Ajax应用程序,并初步了解在随书的CD-ROM中存放的Ajax工具箱。然后你将离开本书这一部分,迅速转入到Ajax实战当 中。

第二部分,“构建真实的Ajax应用程序”——构成本章剩余内容的这一部分,完全聚焦于使用Ajax解决现实中的问题。从在数据登录表单中将邮政编 码动态解析为城市(州)名,到将交互式五星级评级系统置入网页,本书这一部分内容安排紧凑并具有挑战性——别误会我的意思,这部分内容读起来也会津津有 味。但可别指望其中包含不厌其烦的教程式讲解或者对Ajax历史渊源的探讨。一句话,这一部分专门就是针对做事的!

第三部分,“附录”——本部分提供可能对你有帮助的附加信息。附录A“Ajax的过去、现在和未来”,勾勒出了一幅有关Ajax来龙去脉的图画。虽 然这些内容对你理解如何将Ajax驱动的功能添加到自己的网页中并不至关重要,但却给今天甚嚣尘上的Ajax加入了某些设想与展望。附录B “XMLHttpRequest对象参考”,实际是作为Ajax核心的一个JavaScript对象的参考。由于有了Ajax工具箱,这个对象在全书内容 中都被极大程度地隐藏了。但是,如果你想再稍微深入一下这些代码并对工具箱进行改造,则必须要了解XMLHttpRequest对象。最后,附录C “Live Linux CD使用指南”,是所有附录中无可争辩的最方便的内容,因为它全面翔实地解释了如何使用本书附带的Live Linux CD。假如你从没用过甚至没听说过Live CD,那也不用担心,而且你也不需要是一个Linux专家或者使用Linux系统。附录C介绍了Live CD的功能,并指导你在自己特殊的硬件设置下顺利地使用它。

二、特色与亮点

这本书的特色有两个:一是“即插即用”,二是深入浅出;它的亮点有一处,即随书附赠的Linux Live CD光盘。

第一个特色,即插即用。

书中所有10个实例的客户端JavaScript代码全部包含在ajaxkit.js(Ajax工具箱的核心函数)和domkit.js(Ajax 工具箱中与DOM操作有关的函数)这两个文件中,当然随书光盘中包含所有实例的所有代码和文件。读者只需按照书中的指示说明,就可以轻松地改造和自定义这 些实例,在不修改任何脚本和服务器端代码的情况下就能使其为我所用,为自己的项目增加Ajax驱动的内容。比如:对第3章的电子阅读器程序来说,读者可以 将其改造为通过Ajax动态加载自己的博客文章的应用;对于第12章介绍的五星评级系统,读者可以将其用在任何自己希望与用户交流的网页内容上,比如自己 的文章、投票、作品、商品等。而整个过程完全是即插即用式的,只要在相应页面中包含上面所说的两个文件(有时也需要包含一个CSS文件和少量图像),然后 在网页中设置几个必要的id或class,并在相应的页面元素中加上一些触发函数运行的事件处理程序就OK了(虽然在元素标签中添加事件处理程序不是标准 Web开发所推荐的做法,但对于初级的应用而言也不是太大的问题。读者可以在熟悉了这种事件响应机制之后,再向更高级迈进)。

可以说,即插即用是这本书最大特色。读者购买这本书,就相当于购买了包含十个即时可用的Ajax程序组件的工具箱,外加一本操作手册(虽然事实上正 如下面第二个特色中要介绍的,这本书远非一本操作手册那么简单)和一张光盘。可以随时随地将这些工具拿出来放到自己认为合适的Web应用中。

第二个特色,深入浅出。

“简单的东西看得复杂可以发现新领域;而把复杂的东西看得简单则可以发现新定律”。同样,这是一本把复杂的东西看得简单的书。这本书的深入浅出体现 在它的第二部分“构建真实的Ajax应用程序”的10章中。这10章中的每一章分别介绍了一种工具箱中的Ajax工具,而每章都采用了相同的体例模式。 即:

  • 挑战:介绍整个应用的背景和优缺点;分析实现该应用所需要的步骤和关键——也就是需求分析。
  • 设计:在前面需求分析的基础上对应用进行设计。又分为三个部分:客户端网页、服务器端脚本和理解客户端与服务 器端对话。这是所有Ajax应用设计的核心所在。这一部分分析了客户端网页需要通过Ajax向服务器发送哪些信息(请求),而服务器又需要向客户端返回 (响应)哪些数据,最后理解客户端与服务器端通信的整个过程模型。根据需要,还可能会涉及到通过PHP服务器脚本访问第三方Web服务——主要是绕开对客 户端不能直接向第三方服务器发送请求的限制。当然,也可能不需要服务器端脚本——比如在请求文件或图像的情况下。
  • 实现:在设计阶段理解了客户端与服务器之间的通信过程之后,那么就可以对细节问题进行编码了(当然,不用读者 自己编,作者只是帮助读者分析已经编好的代码和为什么)。通过这一环节,读者可以明白客户端怎样向服务器发送信息,而客户端脚本又如何处理服务器返回的数 据,并最终将处理后的信息显示在网页中;可以理解服务器端脚本如何处理客户端的请求,如何向第三方Web服务器发送远程请求,最后又如何对远程服务器响应 的数据进行必要的处理(或不作任何处理),最后将数据返回给客户端。
  • 测试:在根据设计实现应用之后,就可以进行测试了。这时,作者又向读者介绍了一种非常重要的测试Ajax应用的方法,即不直接通过客户端页面来测试,而是使用请求URL直接访问PHP服务器端脚本。
  • 扩展:扩展部分书中叫做“某某应用的终极Ajax应用”。也就是说,在现有应用的基础上,读者可以怎样对书中提供的应用进行改造,进而更好地适应自己的项目需求。这一部分为读者提供了思路、扩展了视野。是每个Ajax应用的升华。

总而言之,挑战、设计、实现、测试、扩展这样的体例无论是对读者使用即插即用的Ajax工具,还是对今后自己开发更复杂、更高级的应用而言,都是一 条明白无误的光明大道,都是必经之路,为读者今后向更高级的阶段迈进奠定了基础。相信,经过10章的应用实践之后,读者一定也会深入浅出,准确地把握住开 发Ajax应用的思路和历程。

亮点:随书光盘

如果说Linux Live CD,可能会吓到一些读者。因为很多读者都知道计算机操作系统有windows、Unix、Linux,但多数只有windows系统的使用经验。其实不 要怕,这张光盘的名称只是为了表明其中包含的操作系统以及实用程序都是免费开源的,不需要读者为它的版权而担心。事实上,这张光盘是一张能够在 windows系统中正常运行的光盘。在windows操作系统中,读者有两种选择,一是直接运行。即从光盘重新启动进入盘载Linux系统中运行并改造 本书实例;二是在windows系统中安装相应的Web服务器软件(XAMPP)并复制实例代码,然后运行和改造实例。之所以说光盘是一个亮点,是因为它 开辟了一种随书应用示例运行的傻瓜模式,读者通过这张光盘,几乎不必进行任何设置,也不必上网下载任何代码,就能够在自己的电脑中迅速查看书中的所有实例 的运行,并且还能对实例进行实时的编辑和改造——当然,如果读者需要保存自己的修改,则至多需要一张U盘足矣。

三、购买建议

如果读者对Ajax等新技术感兴趣,但又不是很了解相关的一些技术,那么这是一本合适的书。即使读者对XHTML、JavaScript、CSS以 及PHP等有了相当了解,这本书也会很有价值,主要体现在它对开发Ajax应用过程的剖析上面(如前面介绍本书“深入浅出”的特色时所展示的)。

 本书即将由华章公司2008年1月出版,敬请关注!

你可能感兴趣的:(Ajax,服务器,XMLhttpREquest,语言,工具,程序开发)