`
ihuashao
  • 浏览: 4514901 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

敏捷的奇迹——《应用Rails进行敏捷Web开发》代译序

阅读更多

(更多关于本书的内容,请看出版社为它创建的Blog:敏捷的奇迹

捧在你手上的这本书算得上一个奇迹:仅仅一年前当我向出版社推荐它时,编辑们还担心这样一本关于“冷门主题”的著作是否能够在国内受到关注,甚至是否值得去 引进翻译它;而当芷薰刚刚完成这个第一版的翻译,编辑们已经迫不及待地把尚未正式出版的第二版塞到了他的手上。当然,你知道,这都是因为Rails


在过去的一年中,Rails创造了太多让人瞠目结舌的奇迹。这个新鲜的框架在短短时间内极速窜红,不仅大有在web开发领域一举超越PHP/Perl/Python等“老前辈”之势,甚至还震动了Java的世界,让众多有着多年J2EE开发经验的架构师相见恨晚,连.NET社群也未能在这场风暴中幸免。老话说“模仿是最真诚的恭维”,那么看看Groovy on GRailsSQL on RailsLisp on LineTrailsMonoRails这些连名字都萧规曹随的框架如同雨后春笋般层出不穷,开发者社群对Rails的认可早已溢于言表了。

作为Rails的作者,David Heinemeier Hansson也随着他的作品一道,迅速步入了顶尖程序员的行列。这个生于1979年的丹麦小伙于20058月在GoogleO’Reilly共同举办的“全球开源大会”(OSCON)上被评为“年度最佳黑客”;《连线》杂志把他的大照片放上了封面,标题是“地球上最炙手可热的黑客”。Rails20063月获得了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的世界吧。最后,祝你阅读愉快、编程愉快。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics