70%全新内容,100%敏捷Web开发Ruby On Rails 经典力作最新第2版,让Web开发更敏捷,第1版荣获Jolt Award(震撼大奖)。
你的工作就是写出质量上乘又美观大方的Web应用——明天就得把它做出来,然后还得维护它好几年。为了让应用程序更好用、更易用,你还想用上AJAX之类的新技术。此外,REST你也想用,这样应用程序才能更轻松地与其他应用交互。
Ruby on Rails也许正是你在寻找的答案。
Rails是一个“一站式”的MVC Web框架,它可以帮你开发出结构良好的应,EH程序,不会给你造成丝毫阻碍。只要专注于应用程序的业务逻辑,Rails会帮你搞定所有细节。甚至当开发一个大量用到JavaScript 的网站时,你都可以不必自己运手哪怕一行JavaScript代码。
在本书中,你将:◆跟随作者的步伐,一起开发一个基于Web的在线商店;◆亲眼目睹Rails的约定惯例如如何帮你摆脱繁杂的配置;◆学会使用Rails代码生成器;◆了解如何在应用程序中使用AJAX、REST、Web Services和邮件处理等技术;◆在开发的同时借助内建的单元测试、功能测试和集成测试框架来编写测试,对应用程序进行全面的测试;◆以及,轻松而安全地部署应用程序。
本书第1版曾获得Jolt最佳技术图书奖,您手上的第2版在前一版的基础上又做了大量改进,涵盖了Rails 1.2的众多新特性。
展开
真正有趣的是,当Agile Web Development with Rails(简称AWDWR)的第1版还在帮助全世界的Rails开发者和爱好者学习和使用Rails的时候,为什么这个第2版会以近乎崭新的面貌如此迅速地登场?答案显而易见:因为Rails本身发生了——并且仍在继续发生着——翻天覆地的变化。这个在过去两年中不断掀起波澜和争论的框架正在向全世界证明:它不仅仅是要引起web开发者们对于“传统”开发工具和方法的反思,更要为他们指出正确的工作方式。David Heinemeier Hansson(DHH,本书的另一位作者)从自己的项目中抽取衍生出的Rails框架在受到足够多的关注之后,迅速地吸纳了来自整个社群的经验和教训,并以飞快的速度成长完善。这本AWDWR的第1版仍然有用,但已经错过了Rails太多令人兴奋的新特性,还有太多内容处于过时或即将过时的境地,这就是你会看到这个第2版的原因。
正如任何一位有经验的读者都可以看出的,拥有一本超过700页的厚书,这就足以表明Rails并不是——像很多人所以为的那样——一个“简单的”框架。我的观点恰恰相反:如今的Rails不仅不简单,甚至可以说是充满了魔术。在使用Rails开发网站和翻译本书的过程中,我几乎每天都会得到一些意外的惊喜。公正地说,我并不真的喜欢这种感觉,因为这有悖于我所推崇的“最小惊讶原则”。在我看来,一个好的软件应该让使用者感到所有事情都顺理成章,而不是不断地让他们感到惊讶。不过Rails的这些魔术并没有改变一个基本的事实:Ruby是一种符合“最小惊讶原则”的、出色的编程语言。使用构建在Ruby之上的Rails,即便不知道所有那些神奇的魔术,你仍然可以快速地——比使用那些“传统”开发工具(例如J2EE)快速得多——开发你的应用程序;而那些神奇的魔术则可以让你变得更快、更好。在这一点上,Rails继承了Unix世界一贯的精神:在一个简单有效的基础上你可以做好所有事;而乐于探索的人还有额外奖励,他们可以把事情做得精彩绝伦。..
当Rails不断成长的同时,整个开发者社群——不论Rails的鼓吹者还是怀疑者——也都在不断成长。我们可以看到,如今人们讨论的焦点已经不再是“Rails是否真有那么高的开发效率”,而是“Rails是否已经准备好进入企业应用”。这个问题其实应该分为两部分:其一,一度以“快速开发网站”为卖点的Rails,能否应对复杂度和规模都更大的web应用?其二,一度被视为“天才玩具”的Rails,能否适应人数更多、水平更参差的“普通团队”?
对于这两个问题,并没有一个简单的答案,但答案是有迹可寻的:全球有众多的先行者正在从技术与方法学两方面为Rails提供强有力的支持。他们的努力有一部分融入了Rails核心,更多的则围绕着Rails形成了一个欣欣向荣的社群。还记得DHH如何狂傲地说“Rails不会支持复合主键”吗?在本书中你会看到,一个让Rails支持复合主键的插件已经存在了。这是Unix社群的传统:每个软件只做一件事,并把它做好。正因为秉承这一传统,我们才有理由相信Rails和它的社群能够良好地成长。社群的工作是卓有成效的,如果你对Rails有所怀疑,或许应该先看看这个社群是不是已经解决了你的问题。
直到今天为止,Rails还远远谈不上“成熟”——它甚至连“稳定”都谈不上,以DHH为首的开发团队仍然在大刀阔斧地改进它,现在我们已经可以预期Rails 2.0还会引入规模不小的变化。Rails还在高速成长。这对于某些人、某些项目来说或许是不可接受的,但对于另一些人、另一些项目来说却是难得的机会。如果你恰好属于后者,这本书应该可以帮助你与Rails一起成长——实际上很多人是从beta版开始就在阅读本书的PDF版本,他们早就在与Rails一起成长了。
在这篇译序的最后,我要感谢ThoughtWorks公司对我翻译工作的大力支持。ThoughtWorks公司在全球范围内已经进行了为数不少的Rails项目,其中包括开源项目和客户定制项目。通过对这些项目——尤其是他们在中国进行的Rails项目——的学习研究,我获得了大量宝贵的第一手经验,也愈发增进了对Rails的信心。正是因为像ThoughtWorks这样拥有雄厚技术实力和丰富项目经验的企业不断开拓,Rails才能更快、更好地成长。
话已经说得够多了,下面就请享受你手上这本厚厚的书吧。祝你阅读愉快、编程愉快。