Ruby on Rails敏捷开发最佳实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

Rails框架从诞生的第一天开始就受到了B/S应用开发领域的广泛关注,经过大约几年发展,Rails框架已经逐渐成熟稳定起来,国外已有相当多的公司开始选择从Java EE平台过渡到Rails开发平台。毕竟,Rails平台提出了一个非常具有诱惑力的口号:开发效率是Java EE开发平台的10倍,这个口号正确与否不是笔者所关心的,但Rails确实具有很好的开发效率,而且很难出错:在Java EE开发领域,你需要掌握很多框架,详细了解每个框架的各种特性,你才可以组合出一套适合自己的开发平台。但在Rails领域,你无需选择,你只要按Rails平台的约定开发,一切都会非常合理,非常优雅。

Rails平台不仅提供了整套的MVC解决方案,并且提供了丰富的代码生成器。Rails甚至不完全是一个框架,更像一个企业开发平台,它搭建了整个应用开发的骨架,并提供了大量的代码生成器来辅助开发,开发者只需在系统生成的代码骨架上进行适当修改、定制即可完成应用的开发。选择使用Rails作为开发平台,仿佛上了铁轨的火车一样,火车只管向前运行,铁轨将负责把火车带到最终目的地(Rails就是铁轨的意思)。

Rails框架对迭代式的增量开发有很好地支持,即使系统的数据库需要重新设计、需要增加系统实体,Rails一样能够轻松面对(本书第2章示范了这种过程)。迭代式的增量开发正是敏捷开发的核心之一,这也是Rails框架被称为敏捷开发框架的原因。不仅如此,由于客观世界的复杂性,需求的变更常常是许多开发者最头疼的事情。使用了Rails开发平台后一切都改变了:Rails替你做好了拥抱改变的准备。

本书内容结构

本书分成4篇:

第1篇(第1~2章)主要介绍了Ruby on Rails的基本知识,包括搭建Ruby on Rails开发平台,第2章则介绍了一个Ruby on Rails的入门项目,让读者体验Rails敏捷开发,从而感受Rails平台的魅力。

第2篇(第3~10章)主要介绍Ruby语言基本知识,Rails平台选择Ruby作为开发语言,而且Rails框架本身也是使用Ruby语言开发的,因此Ruby语言基本知识也是本书介绍的重要内容。本书详细介绍了Ruby语言的相关语法,包括Ruby面向对象特征,Ruby的迭代器、正则表达式支持、异常处理等基础知识,也包括Ruby的多线程、IO和网络通信等高级内容。

第3篇(第11~16章)主要介绍Rails框架,详细介绍了Rails的模型(M)、视图(V)和控制器(C)各部分的解决方案,也讲解了Rails的邮件支持和Ajax支持,以期读者能充分掌握利用Ruby on Rails开发B/S结构应用的相关知识。

第4篇(第17~18章)是案例部分,介绍了两个案例:在线考试系统和电子拍卖系统,两个系统分别属于电子学习领域和电子商务领域,极具代表性。案例的实体包括复杂的1-N多重关联映射,对于实际企业开发有很好的示范意义。不仅如此,案例还充分利用了Rails提供的Ajax支持来改善用户体验,具有很好的指导作用。

本书有什么特点

当《Struts 2权威指南——基于WebWork核心的MVC开发》一书问世以来,笔者收到很多读者来信,他们告诉笔者,非常喜欢书中介绍知识的方式:简短的文字介绍知识点的原理、小巧的案例介绍知识点的用法,最后指出知识点的实际应用场景。本书也保持了这一风格,依然坚持用案例来说话,希望带给读者Ruby on Rails如此简单的感觉。

虽然笔者现在不再是一个全职开发者,但笔者一直以程序员自居:程序员喜欢简单的东西,程序员的职责就是把复杂的事情简单化,然后交给计算机去干。所以笔者坚持认为:真正属于程序员的书应该是简单的,而不是难以阅读的。如果读者阅读本书时,觉得书里介绍的知识很简单,那就可以按书里的介绍进行Ruby on Rails开发,那笔者撰写本书的目的也达到了。

本书由两位作者合作完成,两位作者有极好的互补关系。其中郭秋霞女士是美国Reactrix公司Rails项目组成员,具有丰富的Ruby on Rails实际开发经验。本书之所以得以出版,也得益于她的多次敦促。笔者也从她的工作中看到Ruby on Rails在国外的广泛应用,从而感受到Ruby on Rails在国内“山雨欲来风满楼”的气氛。郭秋霞女士以她丰富的经验为基础,完成本书的全部案例部分,希望带给读者真实企业开发的感受,丰富的实际开发经验将让本书更加实用。

笔者在Rails流行之初就对其抱以极大的热情(笔者曾模仿Rails框架设计出Java领域的“Rails”框架,希望有机会与读者分享)。笔者目前是一个软件设计的布道者,教过的学生有应届毕业生、有刚工作的程序员、也有具有多年开发经验的技术经理、技术总监,从而能感受到各种层次读者的学习痛苦,因此写作过程中针对性很强,希望通过本书能减少各种读者在学习过程中的痛苦。

本书写给谁看

读者阅读本书之前,应有一定的B/S应用开发基础。本书适用于正在使用Ruby on Rails进行应用开发的开发人员,渴望了解Ruby on Rails框架的开发人员。尤其适合有初步的Java EE开发经验,想从Java EE平台过渡到Ruby on Rails开发平台的开发者。

2008-1-1