【原创】ruby on rails 实践

原创 2005年05月26日 09:58:00

本文原载于我的音乐博客“牧羊人之乐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

凯谈Ruby on Rails项目实践

JavaEye网站它背后是用什么样的一个开发平台呢?   3.为什么要选择用Ruby on Rails来做JavaEye呢? 但是在这个过程当中,我其实最早考虑是用J...
  • joeyon
  • joeyon
  • 2014年12月01日 16:11
  • 951

用RVM安装ruby on rails开发环境,实践+全面(非常重要)

安装ruby on rails的开发环境要用到RVM代理,是很方便的,但是我们经常会失败,因为在教程里面往往会忽略一个问题,就是让我们设置终端。下面是给自己的提醒,这样设置后后面的找装就会顺利得多。 ...

记录我的iTuquSpace的搭建过程(Ruby on rails 实践练习)

最近在学习Ruby on Rails,个人觉得最好的学习方法是在实践中学习,在实践中总结是最好的学习。也因为这一点,我拿来RialsSpace——Ruby on Rails web应用开发这本书,作为...

Ruby on Rails实践

  • 2007年07月31日 11:17
  • 601KB
  • 下载

ruby on rails 实践

  • 2006年02月23日 15:31
  • 747KB
  • 下载

【Ruby on Rails Tutorial笔记】将第一个Rails应用部署到 Heroku实践遇到的问题及解决过程记录

sidewalker@sidewalker-Presario-CQ43-Notebook-PC:~/Documents/rails/sum2014/rails_projects/first_app$ ...

ruby on rails实践

  • 2008年01月22日 22:09
  • 602KB
  • 下载

flyway框架对数据库迁徙的支持配置(基于ruby on rails的db migrate 思想)

目的:基于ruby on rails 的思想找到在java web下能够支持数据库常变更的一个框架(或者类似的框架) 引用oracle的ruby on rails :http://www.o...

中文版的Ruby On Rails实践(PDF)

  • 2009年05月08日 22:05
  • 602KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【原创】ruby on rails 实践
举报原因:
原因补充:

(最多只允许输入30个字)