什么是Ruby On Rails Ruby On Rails是一个用于编写网络应用程序的软件包.它基于一种计算机软件语言Ruby,给程序开发人员提供了强大的框架支持.你可以用比以前少的多的代码和短的多的时间编写出一流的网络软件.比较著名的社区网站43things.com, odeo.com和basecamphq.com就是用Ruby On Rails编写的. Ruby On Rails的指导原则是"不要重复你自己"(Don't Repeat Yourself, 或DRY).意思是说你写的代码不会有重复的地方.比如以往数据库的接口往往是类似的程序代码但是在很多地方都要重复用到.这无论是给编写还是维护都造成了很大的代价.相反,Ruby On Rails给你提供了绝大多数的支持,让你只需要短短的几行代码就可以实现强大的功能.而且,Rails提供了代码生成工具,让你甚至不需要编写一行代码就实现强大的管理程序. Ruby On Rails通过reflection和runtime extension减少了对configuration文件的依靠,这和Java,C#语言的方向有很大不同,让你减少了很多配置和部署的麻烦,但是性能上却完全可以应付一般网站的需求. 什么是Ruby Ruby的几大亮点: 语法简单 垃圾回收 可移植性 动态载入 完全免费 正则表达式 Ruby是一种解释型的方便快捷的面向对象脚本语言,它是日本的Yukihiro Matsumoto(人们都叫他Matz.)于 1993年2月24日首次发布的。它从Perl, Eiffel那里吸收了很多特性, 使之很适合用来文本文件处理和进行系统管理任务, 并且完全面向对象。它的语法简单明快,可扩展并且可以跨平台。Ruby是完全自由开放的,意思是我们不仅可以免费得到, 而且可以自由地使用、复制、修改和分发它。以下是Ruby之父Matz.给出的Ruby特性: Ruby的语法简单,部分语法是从Eiffel和Ada那里得到灵感的。 Ruby拥有异常处理机制,就像Java或Python一样,使之处理异常和错误更简单。 Ruby的操作符其实是方法,你可以很容易地重新定义它们。 Ruby是一种完整的纯面向对象语言(OOL)。这就是说所有的数据在Ruby里面都是对象,不是像Python或Perl那样,而是像Smalltalk那样的纯面向对象(没有什么例外)。比如:在Ruby里面,数字1是类Fixnum的一个实例。 Ruby精心地设计了它的面向对象特性,使之完整并且开放允许改进。比如:Ruby有在运行时可以向类里,甚至能够向实例里添加方法的能力。所以,如果有需要,某个类的一个实例可以表现得和同一个类的其他实例不一样。 Ruby“故意地”使用单继承机制,但是它有模块(Modules)的概念(在Object-C里面叫Categories)。模块是方法的集合,它是一个比多重继承更清晰的解决方案。多重继承很复杂,比起单继承来它用得不是很经常。(不要在这里提起C++,C++因为强类型机制使得它没有其他选择。) Ruby有真正的闭包机制,不仅仅是匿名函数,而且还实现了变量绑定。 Ruby在它的特性中加入了程序块(blocks)的概念(包含在"{......}"或者"do.....end"之间的代码),这些程序块可以传递给方法,或者转换成闭包。 Ruby拥有一个真正的“标记-清除”(mark and sweep)式的垃圾收集器,它对所 有Ruby对象起作用。你不需要为维护扩展库中的引用记数担心,这对你的健康更 有好处。:-) 在Ruby中写C语言扩展比Perl或者Python中更容易,这部分是因为垃圾收集器的原因,部分是因为它好用的扩展API接口。Ruby中也有SWIG接口。 我们使用Ruby中的整数时可以不用考虑它的内部实现,Ruby中有小整数(Fixnum类的实例)和大整数(Bignum),但是我们不用担心现在正在使用的是那一个。如果一个数字足够小,它就是Fixnum,否则它就是Bignum了。这个转化是自动完成的。 Ruby不需要变量声明。它用一个简单的命名规则来表示各个变量的作用范围。例子:简单的 'var' = 局部变量,'@var' = 实例变量,'$var' = 全局变量。所有我们也没有必要用一个'self.'来表示实例成员了。 如果操作系统允许,Ruby可以动态的加载扩展库。 Ruby拥有独立于操作系统的线程机制。所以,在任何能运行Ruby的平台上你都可以拥有多线程,不管那个平台是否支持多线程,甚至在MS-DOS上面也行:-) Ruby是高度可移植的,它大部分是在Linux上开发的,但是可以在很多类型的Unix, Dos, Windows95/98/Me/NT/2000/XP, MacOS, BeOS, OS/2等系统上运行。 Ruby的创始人 Matz是一个专业的软件工程师,在日本有名的open source公司netlab.JP工作,而且他在日本也是一个高姿态的open source 布道者。他参与了几个开源软件项目,包括cmail,这是一个基于emacs的邮件用户代理,完全用emacs lisp 编写。Ruby也是他的第一个在日本以外的国家如此出名的作品。他的邮箱是:[email protected] Ruby On Rails 中文社区论坛 http://www.railscn.com/ http://board.ruby-cn.org/ Ruby On Rails 主页 http://www.rubyonrails.org/ 下载 http://www.rubyonrails.org/down 安装 http://blog.csdn.net/sanshi0815/archive/2005/11/02/521129.aspx