【原创】ruby on rails 实践

本文原载于我的音乐博客“牧羊人之乐http://www.5dblog.com/vip/mulder/

文章地址: http://www.5dblog.com/vip/mulder/200505/91925.html 

为什么 Ruby on rails 会在 Java 社区引发轰动,我想原因就在它提供了一个“一站式”面向用户的简单易用的框架,这是 java 框架所缺乏的。为什么 Ruby on rails 能做到这点,难道 java 本身做不到吗? 事实是众多 Java 框架的设计者不这么做,可能是他们的思维已经限制在如何用模式设计一个好的框架上了,而没有在框架的易用性上做更多文章。使用过 Spring 的人就知道它的 xml 配置文件会渐渐的膨胀,虽然我们很容易将其分解为更多的小配置文件来解决这个问题。 但是在使用 xml 配置文件上,它沿袭了 Java 编程的习惯性概念:“Java 是最好的编程语言,XML 是最好的描述数据的语言,两者的结合是最完美的。如果一个应用不使用 xml 来描述,那么它就不是好的 java 应用”。但是 ruby on raiils 就是在这点上和众多 java 框架区别开来,才达到了框架易用性上的一次突破。这个思想贯穿了 Rails 设计的始终:习惯约定优于配置。

本文太长,37页之多。而且CSDN的blog发布机制不好,特地制作成 acrobat pdf 文档,有兴趣学习 ruby on rails  的人,可以下载看看。 估计这是国内写的最详细的一篇关于 ruby on rails 的文档了。




看到我的文档在别的论坛上引起的讨论,我觉得有话要说:

首先,关于ROR的文章引起 Ruby 语言与其他语言的对比,我觉得有点不理解。总是有人喜欢争论语言的长短,正如我在这篇文章中说的那样,我相信将来也不会有什么全能型语言出现,每种语言都有它的长处。我可以用很少几行Ruby代码完成 Java 几十行代码才能完成的功能,那我为什么不用 Ruby 来做呢?是否使用一种语言,对个人来说是“冷暖自知”的事情, 你觉得好你就用,你觉得不好就别用。 我想很多人都看过《程序员修炼之道——从小工到专家》吧,两位作者 Andrew Hunt,David Thomas 就是Pragmatic 编程的创始人,他们用过的语言不可谓不多,最终他们选择了 Ruby 做为自己的开发语言,你能说这种语言没有它的可取之处吗? 不要去做某种语言的“卫道士”,这种做法也不会让你成为它的“创始人”,还是踏踏实实的用好它,如果你喜欢它,就做它的“传教士”吧。

其次,我觉得这个文档引起 Java 程序员的反思要多于实际使用 Rails 的意义,Java 程序员大可不必紧张反应,Java 框架不缺设计模式,不缺好的架构,缺的是易用性。 相信ROR会给以后 Java 框架的发展提供一点新的思路。 我觉得ROR的出现最高兴的人当属 Rubyist (Ruby 爱好者)了,他们从此有了一个 Killer 级的应用, 而之前同为脚本语言的 Python 却拥有让 Rubyist,甚至是 Java 程序员嫉妒的 Zope 系统(Zope 内置 CMS ,Web server 和 WEB 开发方式的确让人惊奇)。而如今 Rubyist 也拥有了这样一个web 开发框架, 而且 ROR 无论在设计思路,性能,开发效率上都可以和 Zope 相比,甚至在某些方面还超过了 Zope. 但是无论怎么热门,Zope 和 ROR 都不会成为主流,影响不到 .net 和 j2ee ,但是他们始终应该在开发领域有一席之地。另外我觉得无论 Ruby, python, perl 如何发展,它们都无法在将来成为主流语言,没有大的商业公司来支持,的确很难,但是它们始终不会被人们忽视的,多种语言的并存才是趋势。

最后,我觉得程序员应该至少掌握一门脚本语言,如论你学 Ruby 还是 Python, Perl 都可以。学这种脚本语言并不需要浪费你太多时间,而且好处多多。多学一门语言能给你另外一种思路,一个视角来看待编程,你的思维也不会局限在一处。我喜欢跟非 Java 程序员混在一起,因为无论是网页设计师还是多媒体程序员,还是 PHP 网页开发人员,他们都能给你新的想法,不象 Java 程序员那样让人觉得闷。从个人感觉来说,如果你是个面向对象的爱好者,那么还是学习 Ruby 吧, 不过 Python 拥有更多成熟的开发库,这些是 Ruby 缺乏的,但是它会逐渐赶上来的。





注:本文章还在更新中。有人反映下载的 PDF 文档被破坏的现象,原因是:本文是用 Acrobat 7 制作的,所以在老版本的 Acrobat 6 下无法识别。
Acrobat 7 reader 下载地址:http://www.onlinedown.net/soft/2696.htm

"Ruby on Rails 实践"下载地址:
http://music.fableage.com:8080/music/rubyonrails.pdf

更新记录:2005-5-28: 9:30
添加了关于"关于Ruby on rails的思考"一节,第一节中增加了描述面向“用户型”和面向“程序员型”框架的区别


更新记录:2005-5-28: 13:25
添加“参考资源”一节,将文章中对 Oreilly.com 上 ROR 教程的使用部分以红字做了说明。


更新记录:2005-5-28: 16:05
添加了关于如何在 ruby 程序中读取和保存 yaml 格式的内容。


更新记录:2005-5-29: 12:05
更正创建 books 表的文字和图片错误

注:本文章在更新中,不经本人同意,不得转载。
下载地址:http://music.fableage.com:8080/music/rubyonrails.pdf

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值