学习一门新语言很容易让人焦躁,人们也往往不知从何处开始着手。要是再同时学一个新的 web 框架,那可就真的是找不着北了。
Ruby 始创于上世纪 90 年代 ,日渐为人熟识。 Ruby on Rails 也成了耳熟能详的名词,越来越多的公司在用它快速搭建 web 应用。
要学一门新语言和一个新框架,该从哪儿开始学呢?这方面的好书有很多,有些是写给新手的,有些则是给老鸟看的。
不管你用的是 Java 还是.NET,或者其它任何语言,都可以通过 RailsTutorial.org 来学习 Ruby on Rails 3。这个网站是 Ruby 专家 Michael Hartl 创建的,其宗旨就是为 Ruby 新手提供服务。而且无论你是喜欢看书学习还是看视频,这网站上都有。
我们最近跟 Michael Hartl 聊了聊他是怎么教别人 Ruby On Rails 的,还谈到了他的新书" Ruby on Rails 3 Tutorial "。经过作者允许,InfoQ 现提供该书的第八章下载,章节名"Sign Up"。这章讲述的是如何在Rails 应用中创建一个用户注册页面。
Robert Bazinet (RB):来给我们介绍一下你的背景吧。
Michael Hartl (MH):我是个程序员、教师、企业家。我跟人合写过 RailsSpace 这本书,2007 年出版的,曾经在 Rails 指南类图书中名列前茅。我跟人一起创立了 Insoshi,它是用 RoR 开发的一个比较流行的社交网络平台,我还是其中的技术领导。之前我在加州理工学院教过理论物理和计算物理,2008 年我参加了 Y-Combinator 企业家计划。
RB:给我们介绍一下 Ruby on Rails 3 Tutorial 这本书如何?
MH:这本书讲的是怎样用 Ruby on Rails 开发并部署一个真实的、工业强度的 web 应用。Ruby on Rails 是一个开源的 web 框架,已经用在了很多顶级 web 站点上,比如 Twitter、Hulu、Yellow Pages。
RB:什么类型的程序员应该读这本书呢?
MH:只要是对用 RoR 开发 web 应用感兴趣的人都可以读。
RB:我看到你还提供了一系列的 Rails 3 视频教程,这些视频是补充书里面的内容呢,还是完全不相关呢?它们跟书有什么区别呢?
MH:嗯,绝大多数视频还是跟着书走的,它们主要还是提供了跟读书完全不同的学习体验。就像是根据书改编的电影一样。
RB:Railstutorial.org 网站上免费提供了这本书的所有内容。你为什么把它免费开放呢?
MH:免费内容算是一种商业策略吧。这里面放了站内链接,可以点击某些词直接打开搜索引擎搜索,也有大量的参考资料,不计其数的优秀经验总结。
RB:你觉得对于新人来说,Rails 3 比 Rails 2.5 要好很多么?
MH:Rails 3 的内部结构比 2.3 要干净的多得多,但是对于普通的程序员来讲,我觉得区别并没有那么大。Rails 3 和 2.3 最大的不同在于,Rails 3 的公共 API 在设计上已经稳定了,既然这个框架还会不断向前发展,那新手还是用 Rails 3 会比较容易,因为 Rails 3 在版本更迭的时候不会有那么多东西被破坏。
RB:如果是一个有经验的程序员,你觉得他该怎么学 Rails 才最合适,又怎样才能把这个框架引入公司呢?
MH:如果是内部推销这个框架的话,我建议去看看那些成功使用了 Rails 的网站。至于学习 Rails,我觉得一本书加上一系列配套视频就够了。
RB:我们的读者大多数都是企业应用的开发者,你觉得 Rails 3 已经适合企业应用了么?你觉得它能跟当前的企业级语言相比么?比如 Java 和 C#?
MH:我从没有过 Java 和 C#的开发经验,所以我没法拿它们跟 Ruby 比,我对 Java 和 C#的 web 框架也不熟。但是从 Rails 在那些高访问量网站──比如 Twitter、yp.com、Groupon──的使用情况来看,Rails 做企业应用肯定是没问题的。
RB:企业应用常常都要涉及到很多独立系统的集成点。你觉得 Ruby,尤其是 Rails,能够为企业级开发者提供这种类型的支持么?Ruby/Rails 比其他语言和框架更容易做集成么?
MH:我没有多少企业级应用的开发经验,但我知道有很多公司,比如 Linkedin,用的是 JRuby on Rails,这样就能和他们的 Java 应用很自然的交互了。因为反正你最后得到的也是的 WAR 包,跟其他 Java web 应用一样部署就是了。
RB:那你在哪方面的背景知识对这本书起到过帮助呢?
MH:Web 开发很困难,比绝大多数人意识到的都要困难得多。我从前教过物理,这些经验能够让我预料到 Rails 哪方面的内容容易让人困惑。我在加州理工教核心的课程教了五年,我在不断的把要传授的内容(主要是力学和电动力学)拆分成容易理解的片段,不停的预测哪些地方比较难理解。我在写 Ruby on Rails Tutorial 这本书的时候,也用了同样的方式。
RB:你还想跟读者讲点什么别的东西么?
MH:我常常半开玩笑的把自己叫做”反圆周率领袖 “。我去年写了篇论文,叫做” Tau 宣言“,里面提出用一个新的符号来表示一个重要的数学常量:tau = 周长 / 半径,而不是 pi = 周长 / 直径。我还创立了一个节日:Tau Day,在 6 月 28 号,跟 3 月 14 号的 Pi Day 对着来。这个项目得到了广泛关注,还上了 New Scientist 和 CNN.com。
如果你看一下 Tau 宣言的话(译者注:需要翻墙),你会发现它的在线排版格式非常好看,也有 PDF 版本,就跟 Rails Tutorial 那本书一样。这可不是什么巧合,我这些文档都是用自己写的 Ruby 程序生成的。这个程序教 PolyTeXnic,是基于 LaTex 系统开发的。我希望将来有一天可以把 PolyTeXnic 开源了,帮助其他人可以做出非常精美的在线技术文档(当然还有迷人的 PDF)。
RB:非常感谢。
想阅读 Michael 的在线图书的读者可以访问 Ruby on Rails Tutorial 网站。在网站上还可以找到图书和视频的购买地址。
参加 2011 年 5 月 16 日至 19 日在 Baltimore 举办的RailsConf 大会的听众,可以去听 Michael 关于“ Rails 入门 ── 第一、二部分”的话题.
关于图书作者
Michael Hartl 是个程序员、教师、企业家。他跟人合写了 RailsSpace 这本书,2007 年出版,曾经在 Rails 指南类图书中销量名列前茅。他跟人一起创立了 Insoshi──用 RoR 开发的一个比较流行的社交网络平台,他还是其中的技术领导。之前 ta 在加州理工学院教过理论物理和计算物理,获得了优秀教师终身成就大奖。Michael 从哈佛毕业,在加州理工拿了物理学博士学位,并参加了 Y-Combinator 企业家计划。
本书的出版社 Addison-Wesley 把配套视频做成了 DVD,同书一起销售。
查看英文原文: Learning Ruby on Rails with Michael Hartl
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。
评论