这是第一本关于Ruby on Rails的著作! \r\n 2006年3月,它荣获Jolt大奖的“最佳技术类图书”奖!\r\n 本书作者David Heinemeier Hansson于2005年8月被“全球开源大会”评选为“年度最佳黑客”!\r\n 全书主要内容分为两大部分。在“构建应用程序”部分中,读者将看到一个完整的“在线购书网站”示例。在演示的过程中,作者真实地再现了一个完整的迭代式开发过程,让读者亲身体验实际应用开发中遇到的各种问题,以及Rails如何有效解决这些问题。在随后的“Rails框架”部分中,作者深入介绍了Rails框架的各个组成部分。尤为值得一提的是本部分的后几章:作者先后介绍了Web 2.0、Web Service等流行技术在Rails中的支持,然后又凭借丰富的实践经验介绍了Rails在安全性、伸缩性、部署等方面的常见问题和解决方案。\r\n 除了上述两部分之外,对Rails缺乏了解的读者应该首先阅读“起步”部分,通过一个最简单的示例应用感性了解这个时下热门的web框架。不熟悉Ruby的读者应该阅读“附录”部分中的“Ruby简介”,以便了解Ruby的基本语法与常见用法。整体而言,全书既有直观的实例,又有深入的分析,同时还涵盖了web应用开发中各方面的相关知识,堪称一部深入浅出的佳作。
第1章 简介\r\n第1部分 起步\r\n 第2章 Rails应用的架构\r\n 第3章 安装Rails\r\n 第4章 立竿见影\r\n第2部分 构建应用程序\r\n 第5章 Depot应用程序\r\n 第6章 任务A:货品维护\r\n 第7章 任务B:分类显示\r\n 第8章 任务C:创建购物车\r\n 第9章 任务D:结账\r\n 第10章 任务E:发货\r\n 第11章 任务F:管理\r\n 第12章 任务T:测试\r\n第3部分 Rails框架\r\n 第13章 深入Rails\r\n 第14章 ActiveRecord基础\r\n 第15章 再论ActiveRecord\r\n 第16章 AcionController与Rails\r\n 第17章 ActionView\r\n 第18章 Web2.0\r\n 第19章 AcitonMailer\r\n 第20章 Web Service与Rails\r\n 第21章 保护Rails应用\r\n 第22章 部署与伸缩\r\n第4部分 附录\r\n 附录A Ruby简介\r\n 附录B 配置参数\r\n 附录C 源代码\r\n 附录D 资源\r\n索引
代译序
敏捷的奇迹
捧在你手上的这本书算得上一个奇迹:仅仅一年前当我向出版社推荐它时,编辑们还担心这样一本关于“冷门主题”的著作是否能够在国内受到关注,甚至是否值得去引进翻译它;而当芷薰刚刚完成这个第一版的翻译,编辑们已经迫不及待地把尚未正式出版的第二版塞到了他的手上。当然,你知道,这都是因为Rails。
在过去的一年中,Rails创造了太多让人瞠目结舌的奇迹。这个新鲜的框架在短短时间内极速窜红,不仅大有在web开发领域一举超越PHP/Perl/Python等“老前辈”之势,甚至还震动了Java的世界,让众多有着多年J2EE开发经验的架构师相见恨晚,连.NET社群也未能在这场风暴中幸免。老话说“模仿是最真诚的恭维”,那么看看Groovy on GRails、SQL on Rails、Lisp on Line、Trails、MonoRails这些连名字都萧规曹随的框架如同雨后春笋般层出不穷,开发者社群对Rails的认可早已溢于言表了。
作为Rails的作者,David Heinemeier Hansson也随着他的作品一道,迅速步入了顶尖程序员的行列。这个生于1979年的丹麦小伙于2005年8月在Google和O’Reilly共同举办的“全球开源大会”(OSCON)上被评为“年度最佳黑客”;《连线》杂志把他的大照片放上了封面,标题是“地球上最炙手可热的黑客”。Rails于2006年3月获得了Jolt大奖“最佳web开发工具”奖项,第一本关于Rails的著作——也就是你手上的这本书——同时获得了Jolt大奖“最佳技术类图书”奖项。如果把刚刚过去的一年称为“Rails年”,我相信并不为过,而且这股热潮还在不断蔓延升温。
Rails究竟有什么神奇之处,让一干人等为它心醉神迷?最直观的原因是,它封装了很多关于web开发的知识——Struts也允许你实现各种各样的功能,但那只是“能力”,却不是“知识”。你可以有100种方式来组织你的web应用,Rails则把一种最合用的方式直接放到你的手上。在用Rails开发web应用时,你会感觉事事都那么贴心、处处都那么顺手,仿佛每个问题都已经有一个解决方案就在手边。这就是“知识”,Rails的开发者们已经把他们开发web应用的经验融入到了这个框架之中。
另一方面——在我看来是更加重要的——原因就在本书的标题中:agile。平心而论,我并不完全赞同芷薰对本书标题的翻译,因为agile实在是“敏捷”而非“快速”。“快速”仅仅是指速度而言;“敏捷”则不仅意味着开发速度快,而且还意味着应用程序具有能够随时应对变化的灵活性、让修改既有代码与添加新功能易如反掌的优雅性、以及在快速迭代中反复折腾也不会散架的高质量。现代企业(尤其是从事互联网业务的企业)随时面对着全球化经济的机遇与挑战,飞速变化的商业环境和业务使他们对IT提出了更高的要求:他们不仅要快速,更要求敏捷。
Rails正是一个具备了敏捷特性的web开发框架。除了框架本身的设计之外,它也得益于Ruby语言本身:这种语言比之Java/C#等语言更具动态性,它的语法能够随着不同的应用场景而进化演变,这就使得开发者能够在Ruby基础上创造出形形色色的DSL——简单地说,也就是让Ruby程序看起来更像是在描述问题领域,而不是“编写计算机程序”。实际上,Rails框架本身就是针对web应用的DSL,其中的ActiveRecord则是针对数据库的DSL。此外,Rails还内建了对于测试驱动、自动构建等敏捷实践的支持。语言、框架、开发过程的三位一体,让Rails具备了敏捷web开发的全部要素。在阅读本书的过程中,读者就可以亲身感受到这种敏捷的体验。
作为新技术最热心的尝试者与敏捷方法最忠实的推行者,ThoughtWorks已经在Ruby/Rails方面积累了相当丰富的经验,并且已经用Rails进行了好几个真实项目的开发。从芷薰开始翻译本书起,ThoughtWorks中国公司就与他建立了紧密的联系,并全程承担了对译本的审阅工作。如果你在阅读本书之后需要更多关于Ruby、关于Rails、关于敏捷方法的知识,也许ThoughtWorks可以给你提供必要的帮助。更多关于ThoughtWorks的信息,请关注ThoughtWorks中文网站:www.ThoughtWorks.com.cn。
我想,亲爱的读者现在大概已经迫不及待地要翻开手上的书一探究竟了。那么,就请你不要犹豫,立刻随着David Heinemeier Hansson和芷薰一起进入Rails的世界吧。最后,祝你阅读愉快、编程愉快。
熊节
ThoughtWorks中国公司
2006年6月11日于北京
作为《敏捷宣言》的提出者之一,Dave Thomas对敏捷有着深刻的理解。作为Programming Ruby一书的作者,他同样了解Ruby,并且清楚如何向别人介绍Ruby编程的技术。avid Heinemeier Hansson是Rails框架的创造者。Leon Breedt编写了Thomas Fuchs之手。Andreas Schwarz撰写了Rails的安全手册。所有作者都对Ruby和Rails有所了解。
无封面