该书下载自-书部落-分享计算机经典巨著!-www.shubulo.com仅供试看 e Pragmatic Broadview www.broadviewcom.cn programmers Web开发敏捷之道 一应用 Rails进行敏捷web开发,第2版 Agile Web Development with Rails, Second Edition [美] Dave Thomas David Heinemeier Hansson 林芷薰译 透明审校 The Facets of Ruby series RAILS 電子工業出版 SHING HOUSE OF ELECTRONICS INDUSTRY http:llwww.phei.com.cn
;ew 8 www.broad../ew. com.cn eb 第2 Agile Web Development with Rails, Second Edition 美] Dave Thomas David Heinemeier Hansson 林芷 熏译 透明审校 该书下载自-书部落-分享计算机经典巨著!--www.shubulo.com!仅供试看^_^
该书下载自-书部落-分享计算机经典巨著!-www.shubulo.com!仅供试看^ 译者序 和 Rails一起成长 如果说有什么事情比翻译一本厚达554页的书更费神的话,那就是这本书的第2版 被它的作者们一不幸地—写到了720页,并且其中70%的内容与前一版不同,而译 者还是你。正如本书的作者 Dave Thomas所说,创作这个第2版是一件吃力并且被广泛 低估的工作,因为大部分读者很难想象仅仅时隔18个月之后推出的第2版竟然会有如此 之大的变动。而作为这本书前后两版译者的我,对此感同身受。 真正有趣的是,当 Agile Web Development with Rails(简称 AWDWR)的第1版还在 帮助全世界的 Rails开发者和爱好者学习和使用Rals的时候,为什么这个第2版会以近 乎崭新的面貌如此迅速地登场?答案显而易见:因为Rail本身发生了—并且仍在继续 发生着—翻天覆地的变化。这个在过去两年中不断掀起波澜和争论的框架正在向全世 界证明:它不仅仅是要引起web开发者们对于“传统”开发工具和方法的反思,更要为 他们指出正确的工作方式。 David heinemeier hansson(DHH,本书的另一位作者)从自 己的项目中抽取衍生出的 Rails框架在受到足够多的关注之后,迅速地吸纳了来自整个社 群的经验和教训,并以飞快的速度成长完善。这本 AWDWR的第1版仍然有用,但已经 错过了Rais太多令人兴奋的新特性,还有太多内容处于过时或即将过时的境地,这就是 你会看到这个第2版的原因。 正如任何一位有经验的读者都可以看出的,拥有一本超过700页的厚书,这就足以 表明 Rails并不是像很多人所以为的那样—个“简单的”框架。我的观点恰恰相 反:如今的 Rails不仅不简单,甚至可以说是充满了魔术。在使用 Rails开发网站和翻译 本书的过程中,我几乎每天都会得到一些意外的惊喜。公正地说,我并不真的喜欢这种 感觉,因为这有悖于我所推崇的“最小惊讶原则”。在我看来,一个好的软件应该让使 用者感到所有事情都顺理成章,而不是不断地让他们感到惊讶。不过 Rails的这些魔术并 没有改变一个基本的事实:Ruby是一种符合“最小惊讶原则”的、出色的编程语言。使 用构建在Ruby之上的 Rails,即便不知道所有那些神奇的魔术,你仍然可以快速地 比使用那些“传统”开发工具(例如2EE)快速得多—开发你的应用程序:而那些神 奇的魔术则可以让你变得更快、更好。在这一点上,Rail继承了Unix世界一贯的精神: Web开发捷之道一应用Rais进行敏捷Web开发,第2版
译者序 il 匍果说H什么事情比 译一本厚达 4贞的书里费神的话.那就是 书的第 2版 被它的作苦的---不幸地写到了 720页 ,并且其中 %的内容与前一版不同 .而 哥还是你 如本 书的 Th rn 所说 创作这 件吃 低估的工作.因为大部分读者很难想象仅仅时阴 阳个月之后推出的 2版 有如 之大的变动.而作为这本书前后两版译者的 对此惑同身受. 真正街题的是,当 il Web Del·e/opment with Rails 版还 南助全世界的 il s开发 爱好者学 的时候 会 以近 崭新的而貌如此迅 场? 案显而 因 为 ai 身发生 一并且仍在继续 发生{i-一翻天 的变化.这个在过 断掀 波洲和 争 架正在 向全 证明 :它不仅仅是坚引起 b开发者 们对于 传统"开发工具和方法的反思,更直l为 他们指出 正确的工作方式 David Heinemeier Hansson D H 的项 取衍生出 架在受到足够 的关注 地吸纳 整个社 群的 验和 I I 并以飞快的速度成长 .这本 R的第 l版仍然有用 .但 太多令人兴奋的新特性,还有太多 内 处于过 将过时 境地 这就是 你会否到这个第 2版的原因。 正如任何一位育经验的读 都可以看出的,拥'i 一本趟过 ∞页的厚书 .这就足以 我明 i1 s并不是一一你很多人所以为的那样-一一个 "简单的 框架. 我的观点恰恰相 反=如今的 ai s不仅不简单,甚至可以说是充满了魔术.在使用 ai s开发网站 翻译 本书的过段中 .我几乎每天部会得到一些意外的惊喜.公正地说 我并不真的喜欢这种 感觉,因为这有悖于我所推崇的 "最小惊讶原则 .在夜看来.个好的软件应该让使 用再-感到所有事情都顺理成章.而不是不断地让他们感到惊讶.不过 ai s的这些魔术并 没有改变一个草本的事实 uby 种符合 程语 用构建在 y之上的 ail .即便不知道所有那些神奇的魔术.你仍然可以快 比使用那些"传统 "开发工具 (例如 J2 EE )快速得多-一开发你的应用程序:而那些神 奇的庵术j! J可以让你变得更快、更好.在这一点上. i l nix 贯的 精 Web JfJtItl'ZiII-&i il IJIjItl' Web JfJt 2 15 该书下载自-书部落-分享计算机经典巨著!--www.shubulo.com!仅供试看^_^
乡N3 ivp译者序 在一个简单有效的基础上你可以做好所有事;而乐于探索的人还有额外奖励,他们可以 把事情做得精彩绝伦。 当 Rails不断成长的同时,整个开发者社群—不论 Rails的鼓吹者还是怀疑者 也都在不断成长。我们可以看到,如今人们讨论的焦点已经不再是“ Rails是否真有那么 高的开发效率”,而是“Rai是否已经准备好进入企业应用”。这个问题其实应该分为 两部分:其一,一度以“快速开发网站”为卖点的Rals,能否应对复杂度和规模都更大 的web应用?其二,一度被视为“天才玩具”的 Rails,能否适应人数更多、水平更参差 的“普通团队”? 对于这两个问题,并没有一个简单的答案,但答案是有迹可寻的:全球有众多的先 行者正在从技术与方法学两方面为 Rails提供强有力的支持。他们的努力有一部分融入了 Rails核心,更多的则围绕着Rais形成了一个欣欣向荣的社群。还记得DHH如何狂傲地 说“ Rails不会支持复合主键”吗?在本书中你会看到,一个让 Rails支持复合主键的插 件已经存在了。这是Unix社群的传统:每个软件只做一件事,并把它做好。正因为秉承 这一传统,我们才有理由相信 Rails和它的社群能够良好地成长。社群的工作是卓有成效 的,如果你对Rais有所怀疑,或许应该先看看这个社群是不是已经解决了你的问题。 直到今天为止, Rails还远远谈不上“成熟”—它甚至连“稳定”都谈不上,以 DHH为首的开发团队仍然在大刀阔斧地改进它,现在我们已经可以预期 Rails2.0还会引 入规模不小的变化。 Rails还在高速成长。这对于某些人、某些项目来说或许是不可接受 的,但对于另一些人、另一些项目来说却是难得的机会。如果你恰好属于后者,这本书 应该可以帮助你与Rals一起成长—实际上很多人是从beta版开始就在阅读本书的PDF 版本,他们早就在与 Rails一起成长了。 在这篇译序的最后,我要感谢 Thought Works公司对我翻译工作的大力支持。 Thought Works公司在全球范围内已经进行了为数不少的 Rails项目,其中包括开源项目 和客户定制项目。通过对这些项目—尤其是他们在中国进行的 Rails项目—的学习研 究,我获得了大量宝贵的第一手经验,也愈发增进了对 Rails的信心。正是因为像 Thought Works这样拥有雄厚技术实力和丰富项目经验的企业不断开拓, Rails才能更快、 更好地成长 话已经说得够多了,下面就请享受你手上这本厚厚的书吧。祝你阅读愉快、编程愉 快 林芷薰 2007年2月 Wb开发敏捷之這一应用 Rails进行敏捷Web开发,第2版
iv .... 者厚 在一个 有效的基础上你可以做好所有 ;而乐于探索的人还有额外奖励 们可以 把事情做得精影绝伦 不断成长的 同 整个 者社 不论 ai -- 也都在不断成长. 夜们可以看到,如今人们讨论的焦点已经不再是 il s是否真有那么 的开发效率 ".而是 s是否己经准备好进入企业应用 两部分.其一 一度以 "快速开发网姑 "为卖点的 il .能否应对复杂度和规模都更大 二, 度被视为 具" 人数 更参差 的"普通团队 .. ? 对于这两个问题 ,并没有一个简单的答案 ,但答案是有迹可寻的z全球有众多的先 行者正在从技术与方法学两方丽为 il s提供强奋力的支持.他们的势力有一部分融入了 il 苟Rai 欣欣 得DHH 如 何1£ .. M. 在本书 会看到 让R 支持 件已经存在了 .这是 x社群的传统z每个软件只做-件 J ~ 它做好 正因为秉承 一传统.我们才一百理由相信 il s初它的社群能够良好地成长 tt群的工作是卓有成效 的.如果你对 i l s有所怀疑.或i于应该先否看这个社桥是不是已经解决了你的问题 直到今天为止 i l 还远远 谈不 至连 稳定 DHH 开发囚 队 刀 阔 斧 朋R .0 入规模不小的变 Rails i£在南地成i.'; .这对「某些人 、某些项目米说或许是不可援受 ,但对于另一些人、另 一些项目来说却是难得的机会.如果你恰好属于后者,这本书 应该可 IJ你与 一足成长一一实际上很多人是从 a版开始就在阅读本书 版本 .他们早就在与 ai 一起成快了 在这篇 评序 的启后 ,我坚感谢 Th s公司 翻 译 工作 的大力支持 Th u g 全球范围 经进 不少 源项 和客户 定制项 .通过对这些 是他们 中 国 行的 i l 项目 -一的学习研 ,孜获得了大 最宝贵的第 -孚经验 .也愈发增进了对 i l s的信 .正是因为像 Thought ork 雄厚技 实力 经验 不断 ail 更好地成长 话已经说得够多了 ,下面就请享受你手上这本厚厚的书吧.祝你阅读愉快、 编程 快. 林芷煮 00 7 年2 Web JtIlf1#2 .6Vi il 'lit1# WebHJt. flJ2 1fff 该书下载自-书部落-分享计算机经典巨著!--www.shubulo.com!仅供试看^_^
该书下载自-书部落-分享计算机经典巨著!-www.shubulo.com!仅供试看^ Tous les jours, a tous les points de vue, je vais de mieux en mieux. 每一天,我都在变得更好 Emile Cou白 第2版序 Preface to the Second Edition 从本书第1版面世至今,已经18个月过去了。甚至在那之前, Rails就已经显出了 走红的潜质。但即便如此,我还是坚持认为:当时没有任何人能想到这个框架竟然会变 得如此显赫。 在随后的一年里, Rails已变得越来越强大,不仅众多激动人心的新网站以它为基础 搭建起来了,而且连很多大企业(包括一些家喻户晓的大企业)也开始在内部和外部的 应用中使用Rals。同时 Rails也赢得了技术社群的广泛赞誉: David Heinemeier Hansson Rails的创造者——在 OSCON被评为“年度最佳黑客”; Rails赢得Jolt“最佳web 开发工具”大奖:本书的第1版也赢得了Jolt“最佳技术图书”大奖。 但 Rails团队并没有躺在功劳簿上睡大觉,他们还在不断地给Rals增加新的功能和 工具。 Rails1.0于本书第1版之后几个月问世,增加了数据迁移等功能,并且全面升级 了对AJAX的集成支持。Rail1.1于2006年春季发布,这是一个爆炸性的版本,其中引 入了超过500项变更,而且很多都是影响深远的变更。譬如说,RJS模板改变了开发者 们编写AJAX应用的方式,集成测试框架改变了对应用程序进行测试的方式。此外, Active Record也得到了大量的扩展和增强,加上了多态关联、连接模型等功能,缓存也 得到了改进,而其他的改善则不胜枚举 所以,本书理应推出更新之后的第2版,以体现所有这些好东西。而且在修改本书 的过程中,我意识到还有别的东西也在悄然无声地发生着变化:自从本书第1版发行以 来,我们都从中学到了很多关于“如何编写 Rails应用”的经验;但 Rails中一些原本被 认为是好点子的功能在实际应用中并不理想,另一些原本被视为细枝末节的功能却日渐 显得重要,这也导致对本书的修改比我想象的要来得深远得多。我不只是要修润文字 加上几个新的AP介绍。不,还远不止于此。我根本就是重写了整本书:第1版的有些 Wed开发敏捷之道一应用Rais进行捷Web形发,第2版
Taus J,.fjours. ataus Jn poinrsd, \',,,. j, vais de ,n t' 久, 农都在主得 好. Coue Preface to the Second Edition 从本书第 1版面世至今.已经 8个月过去了 .甚至在那之前 Rail 走红的潜质.但即使如此.我还是坚持认为 当时没有任何人能想到这个框架竟然会变 得如此显赫 在随后的一年里 il 得越 越强大 搭建起来了 ,而且连很多大企业 (包括一些家喻户晓的大企业) 也开始在内部 外部 应用中使用 il ..同时 s也赢得了技术性群 广泛赞誉 Heinemeier Hansson i l .. 年度最佳黑 ; Rails Jolt ..最佳 e b 开发工具 lt ..最佳技术图书" il 队并没有躺在功劳簿上睡大觉 还在不断 增加新 工具 Rails 1. l1'1 数据 且全 丁对 X的换成支持 Rails 1.1 布. 个爆炸性的版 其中 入了坦过 00项变更 ,而且很 都是影响深远的变 .譬 RJS 改变 们编写 X应用的方式,集成测试框架改变了对应 I¥ 行测 式. Activ eR ord 也得到 增强 加上 多 态 关 模型等功能 级存 得到了改进 .而其他的改善则不胜枚举 所以 ,本书理应推出更新之后的第 2版 体现所有这些 东西. 而且在 改本 的过程中 在意识到还有别的东西也在悄然无声地发生者变 从本书第 版发 .我们都从中学到了很多关于 "如何编写 s应Ill" 的经验:但 ai s中 一些原本被 认为是好点子的功能在实际应用中并不理想.另一些原本被倪为 末节 功能却日 显得重要.这也导致对本书的修改比夜想象的要来得深远得多. 我不只 要修润文字、 加上几个新的 I介绍 .不,还远不止于此 ~根本就是贯写 整本书 有些 Wed lfJtlt1i12 -& Rails ill "IL Web lfJt 1t5 该书下载自-书部落-分享计算机经典巨著!--www.shubulo.com!仅供试看^_^
第2版序 章节被删掉了,又增加了一些新的章节,剩下的大部分内容也是彻底重写。于是,这就 是我们的第2版—基本上就是一本全新的书。 当第1版图书还在全球热卖时就推出第2版,这似乎有些奇怪。但 Rails已经变化了, 我们的书也必须随之而变 最后,请享受你的 Rails之旅吧! Dave Thomas 2006年10月 Wed开发敏捷之道一应用 Rails进行敏捷Web形发,第2版
vi .... 章节被删掉了 .又增加了 一些新的章节,剩下的大部分内容也是彻底盘写 .于是,这就 是我们的第 2版一一基本上就是一本全新的书 当第 l版图书还在全球热卖时就推出第 2版.这似乎有些奇怪.但 il s已经变化了, 我们的书也必须随之而变 后.请享受你的 ai 旅吧 Dave Thomas 2006 年10 Wed Jf!tiit1l2J8- &1llRails iHf7iit1l Web 第2JiN 该书下载自-书部落-分享计算机经典巨著!--www.shubulo.com!仅供试看^_^