【原创】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 实践

本文原载于我的音乐博客“牧羊人之乐” http://www.5dblog.com/vip/mulder/ 文章地址: http://www.5dblog.com/vip/mulder/200505...
  • hejishan
  • hejishan
  • 2008年04月08日 22:54
  • 257

Rails接口(interface)入门

rails 接口入门
  • kavin_luo
  • kavin_luo
  • 2015年11月13日 12:03
  • 962

Ruby On Rails的一个简单实例

IDE: Apatana 主页地址: http://www.aptana.com/ DB: MySQL安装ROR环境:Ruby: http://www.ruby-lang.org/ 或者 http:/...
  • kunshan_shenbin
  • kunshan_shenbin
  • 2008年04月09日 10:19
  • 1689

mac下ruby on rails环境搭建

ruby初探
  • nemoalways
  • nemoalways
  • 2016年08月03日 17:31
  • 459

ruby on rails开发环境安装血泪史

经过一个星期对ruby的研究,先是看了ruby的语法,再看了rails开发方法,以及研究了rails开发环境的搭建,一部血与泪的ruby on rails开发史就此诞生. 第一章 win10下安装 ...
  • zhanngle
  • zhanngle
  • 2016年04月23日 10:10
  • 2688

ruby on rails界面常用控件写法以及rails常用方法

在数据表中增加字段class CreateTpoolUserTypes < ActiveRecord::Migration def change create_table :tpool_u...
  • qq_22793991
  • qq_22793991
  • 2016年08月08日 17:01
  • 1288

一个使用Ruby on Rails开发LBS网站的简单实例

使用Ruby on Rails开发LBS网站 cheungmine 这几天一直在学习使用RoR(Ruby on Rails),想建立一个功能全面一点的LBS(Location Based Servic...
  • cheungmine
  • cheungmine
  • 2011年07月22日 00:30
  • 14923

Ruby on Rails教程 和Ruby&Rails 入门大全,对新手很有用

我自己常用的gem包: 数据库驱动 mysql , sqlite3-ruby, postgre-pr,名字不言而喻。 很遗憾并不是所有的Ruby库都是通过gem方式安装,比如针对Oracle的ruby...
  • Bactryki28
  • Bactryki28
  • 2016年06月14日 12:00
  • 1531

在Mac OS X上建立Ruby on Rails开发环境

这篇文章是我看了阿修写“在Mac OS X上建立Ruby on Rails开发环境”,照着他的步骤作了一遍之后,整理而来的。内容基本上一致,添加了一些图而已。如果你希望看到原版的内容,请看这里阿修的部...
  • crazyflyingsnow
  • crazyflyingsnow
  • 2007年07月28日 12:56
  • 4999

Ruby on Rails 以及其与SSH框架的比较

一、Ruby on Rails 1. 什么是Rails Rails是Ruby on Rails的官方简称,非官方简称为RoR。在RubyOnRails的官网对Rails的定义是:Rails is...
  • Yarn_
  • Yarn_
  • 2017年03月30日 20:39
  • 686
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【原创】ruby on rails 实践
举报原因:
原因补充:

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