Rails 使用 Rails 的阶段性总结.

zw963 · 2012年04月13日 · 最后由 hawkflying 回复于 2012年06月25日 · 6149 次阅读

首先,也许因为本人 rails 还没太深入的缘故?可能认识会有些片面,这也是我使用了阶段性总结这个名字的缘故吧。

起这么个名字是为了给刚刚接触 rails 的新人,包括像我这样已经熟悉了 Ruby, 才过渡到 rails 的半新人一个提醒吧。纯粹个人经验,各位看看就好了。

Rails 不是给新人用的玩意儿。

主要理由如下:

  • rails 需要一些 Ruby 知识.(但也仅限一些而已。不用太深入,也不用玩什么元编程。我感觉,大多数时候你根本用不到)
  • rails 使用敏捷开发模式,这是一种全新体验,无论最终生产部署,还是开发配套设施,例如编辑器呀,gem 呀,rvm 呀,包括推荐 linux 开发环境呀,起点也较高。至少我认为,以前那些只会 C-c, C-v 的编码员,过渡到 rails 相当困难。
  • rails 需要海量 web 开发知识,包括最基本的 HTML, CSS, javascript, SQL. 说实话,没了解这些东西之前,看 rails 的书,就算能看懂,也是懂得很肤浅,根本提不起兴趣。这应该是我接触 rails 之后的最大感触。下面这句话我觉得非常适合 rails. 想精通 Ruby, 那么去看 rails 实现,想精通 rails, 先去学学如何 web 开发吧。
  • rails 是较新的玩意儿,处于技术的前沿,涉及大量的新概念,以英文为主。普及有困难。

也许社区的很多大佬都是从 web 开发领域直接过来的,所以直接无视 web 基础这方面的一些培训之类的,既然没有人提出来,那我就通过自己的亲身经历来提及一下吧。

如果你也是刚开始接触 rails, 感觉提不起兴趣,或者看起来累,先搞懂 web 开发再说吧。

说来说去,这篇帖子想表达给学习 rails 的新人的最重要的观点是: 不要忘记 rails 是一个 web 开发框架,不懂 web 开发的情况下,使用 rails, 那种感觉是很不舒服的,也不明智的

以我自身的经验,我可以肯定的说:

只要你熟悉 Ruby, 精通 web 开发的方方面面,并且熟悉 linux, 使用 rails 简单多了.

顺便说下:个人觉得,rails 的成功,让一个人或者三两个人创建一个小型的网站,成为一个现实的可能。这也是为什么那么多创业型的公司选择 rails 做网站的原因吧。换句话说:既然三两个人就构建一个网站成为可能,所谓的前端, 后端的分别貌似就没那么明显了。搞 rails 的人需要全才呀!我想这也是为什么国外搞 rails 的那些牛人,收入那么高的缘故了。

就目前咱社区,有关 ruby 和 rails 的讨论,我觉得名字换成 rails-china.org 都挺合适。

我觉得正如您所说,看问题也要阶段性,由浅入深,我相信在后期,对 ruby 和 rails 进行深入了解也是有必要的,当然这要看有没有兴趣。另外,我认为 ror 适合那些把开发技术当乐趣并有一定英语基础,最关键的是要有接受新事物能力伤,触类旁通,自学东西特别快的天分。

#1 楼 @zw963 的确,如果其他朋友有兴趣的话,我建议去找找 DHH 在写 Rails 之前的经历,的确是在掌握了丰富的 web 开发基础之上才构建了 Rails 框架。

这个社区的技术话题的确以 rails 为主。试试看访问 rails-china.orgrails-china.com 我刚刚把这两个域名都 Redirect 过来了。

精通 rails 要涉及的东西也很多
1.编辑器 有 vim Emacs TextMate 等
2.版本控制 git 等 3.web 开发 HTML 和 jquery coffeescript 等 4.数据库 mysql mongo redis 等等 5.测试 rspec cucumber 等

  1. 部署 nginx apache passenger Capistrano 等 7.持续集成 (CI) jenkins 等 还有一些其他的 不仅仅是会 ruby 就行的

搞 rails 的人需要全才呀!

rails 走的非常考前,哈哈

总在 unbuntu 和 mac 上混 shell 也要很熟悉啊

#3 楼 @lgn21st

试过了,是链接到咱社区。

哇,打算一统江湖哇~~

不过貌似社区也就基本上代表Ruby江湖了。

表示 弯路 未必不是 经验 维持 自己的兴趣 很重要~~~

如果只有 rails,没有其他这么多技术一起的话,那么混 rails 多无聊啊?

是不是 博览群山 然后再,一览众山小 更爽呀

非常赞同 Lz,学习了 ROR 有一段时间,对于没有 web 开发经验的来说很多东西要摸索。 感觉先是从 MC 有点感觉,然后发现 V 太难,熟了以后再深入 MC 对学习 Rails 来说 Web 基础真的很重要

非常赞同。。

我现在觉得 rails 就是那么一回事。。。用起来不需要考虑太多。 但是需要加功能,处理 bug,就又是一番新天地了,不对 rails 有一定了解深入不下去。

#12 楼 @jiffies

又是该死的术语... 请问 MC 是什么玩意儿?

熟练的掌握了 Ruby,不见得就能很快的学习 Rails,尤其是没有 web 的开发经验。 但是,如果 Ruby 掌握的不深,那肯定也用不好 Rails :) 这一点可以从很多 Rails 牛 (如 DHH) 写的其他的 gem 中就可以看出,他们的 Ruby 代码写的很是精妙,是学习 Ruby 实践的好素材。

总之~ 真正的 Rails 牛是RubyRailsWeb这三方面都牛,确实没见过那种对 Ruby 掌握不深的 Rails 牛。 :)

#15 楼 @zw963 哈哈 我瞎说的 就是 MVC

匿名 #18 2012年04月14日

zhuxi 说的好啊,这东西根本就不适合没做过 Web 的新手玩

Rails 滥用 Ruby 的元编程能力,导致 Rails 的学习成本比 Ruby 本身还高,坑爹的

#18 楼 @ruchee

是啊~~ 成本很高,不过一旦精通 rails 的架构,也就精通 Ruby 了。 不过仅仅使用 rails 做 web 开发,根本没必要多精通 Ruby.

对了,我刚发了个帖子. http://ruby-china.org/topics/2608

柯南给分享下你 Vim 的经验呗。

#16 楼 @skandhas

哈哈,我觉得你对 rails 牛的定义和估计和咱社区大多数人定义不一样...

你说的 rails 牛,本质上是指 DHH 那种 Ruby 牛。

匿名 #21 2012年04月14日

#19 楼 @zw963 这个好说啊 :)

楼主的帖子质量都很高,受教了

@zw963 最后一段话特别有同感,rails 确实是一个小团队快速开发和创业的不二之选,所以这种团队的成员大多数都比较全才;另一方面国外的程序员相对较少,人力成本高,而国内刚好相反。。。这不是个技术问题 :)

学 Rails 的三个阶段:-) 1.昨夜西风凋碧树。独上高楼,望尽天涯路。 2.衣带渐宽终不悔,为伊消得人憔悴。 3.众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

前几天想自己用轻框架写个东西,选了 sinatra,开始感觉还不错,越到后来越发现不方便,服务器重起和模版 partial 之类的都要额外安装包,真心不想折腾了,搞回 rails……

@ekim_sgra,跟你的经历类似,现在切换回了 rails,学习 rails 任重道远

#25 楼 @ekim_sgra 可以试试 padrino,基于 sinatra,风格像 rails,你提到的几个问题在 padrino 里没有问题

学 ruby,用 rails.

@rainchen 看了一下似乎是把 sinatra 的功能扩展到尽量接近 rails,老实说现在真不像尝试新的了,对我来说论学习成本的话 rails 还低一些。

本以为 sinatra 会是像 python 的 bottle 那样,麻雀虽小五脏俱全的框架。

感同身受

DHH 以前好像说过,rails is not for beginner,台湾的那个兄弟(就是几年前总结 best practise 的那个,名字一时想不起来)也说过,如果你的思路和 DHH 一致,那么 rails 很爽,否则很困难。 至于 ruby,我一直觉得它最大的价值就是发明 DSL,几十年前的老程序员通过发明一种语言解决某个领域的一片问题,现在我们可以用 ruby 发明自己的 DSL,性质一样,只是更简单,而 rails 是其中名气最大的 DSL 集合。

学习 Rails 的时候,感觉用 Ruby 去写很少;但是真正用了 Rails 之后,再去回顾学习 Ruby,才发现 Ruby 的魅力所在啊

34 楼 已删除
需要 登录 后方可回复, 如果你还没有账号请 注册新账号