Ruby on Rails 是一个相对较新的 Web 应用程序框架,它的目标是为应用程序开发提供一条易行道。简而言之,就是让生活,至少是 Web 开发方面的生活,变得更轻松。实际上,框架的支持者们声称 Ruby on Rails 开发人员的生产率最多是使用传统 J2EE 框架的 10 倍。虽然这句话造成了 Rails 和 J2EE 社区相当大的争议,但争论中却很少谈及如何比较 Rails 和 J2EE 架构。构建在 Ruby 语言之上。它被宣传为现有企业框架的一个替代,Rails 是一个用 Ruby 编写的全栈的(full-stack)、开源的 Web 框架,可以使用它来轻松编写实际的应用程序,所需的代码也要比大多数框架花在处理 XML 上的代码少。
Ruby是一种解释型的方便快捷的面向对象脚本语言,它是日本的Yukihiro Matsumoto于1993年2月24日首次发布的。它从Perl, Eiffel那里吸收了很多特性, 使之很适合用来文本文件处理和进行系统管理任务,并且完全面向对象。它的语法简单明快,可扩展并且可以跨平台。Ruby是完全自由开放的,意思是我们不仅可以免费得到,且可以自由地使用、复制、修改和分发它。
一直以来Ruby on Rails在中国及至世界开始火爆起来,无论在Java的站点里、搜索引擎中,还是火热的论坛里,你都会看到Ruby和Java叠对出现,而且它们两个好像一对水火不相容的冤家被人们相互地比来比去。Rails 是令人难以置信的!它的功能极其强大,已经明显地改变了 Web 开发的面貌和步调。Ruby 要比 Rails 功能丰富,尤其是从 Java 开发人员的视角来看。但是Ruby取代不了Java,并不意味着Ruby就不值得去使用。
甚至Oreilly这位多年来一直支持Java的大师级人物,也开始出版Ruby方面的书籍,带领人们从Java这儿离开。这场讨论的范围越来越大,参与者越来越多,甚至Java之父Gosling也卷入了争论当中。Java将会继续处于顶峰,并在企业应用上保持良好的表现,但是时间不会停滞不前。在某种意味上它终将会给替代。我们将需要一个更高级别的抽象。我认为我们最好的希望就是在JVM上做充足的投入,更好地支持动态语言, 拥抱新的事物,对于旧有的java代码,则最好是保留保守的态度。
这些都是好语言,但是都有一些缺点。对大型应用,PHP和Perl不能连续地产生可读的代码。Lisp,Python和Smalltalk这些就缺少了伟大语言好像应该拥有的催化剂。不过共同的认识是Ruby在开发中的高效性超越Java和C#,这个结果让许多开发者惊讶。甚至令他们提出这样的疑问:是否真的存在比Java和C#更好的语言?但是在众多的讨论中,国人的关注度似乎少很多。由于历史关系,很多国人都不想去讨论这个问题,也不相信Rudy会在中国成为第二个Java,那么Ruby on Rails在中国的发展如何呢?
业界对Java 和脚本语言的争论一直持续着从来没有消失。其实这种争论的本身已经背离了话题的初衷。早在半年以前,Java之父就强烈呼吁“停止无谓的Scripting Flamewar”,称“其实将Java ‘对立’PHP、Ruby或其他语言的讨论,都是毫无意义的。”
Ruby是一种好语言,和催化剂(Rails)提供了引人注目得新价值(以效率的角度)以及还在飞速地增长。Ruby不一定是最好的语言,但是它将是我所见过最有可能的。Ruby不大可能超过Java.它很有可能首先在一个更小但是却重要的环境中取得好成绩。这个环境也就是一个有web UI大的胖关系数据库。
Ruby on Rails (RoR) 的设计使您能够非常快速地开发 Web 应用程序。 它是通过遵守惯例而不是强制您预先做出所有配置决定来做到这一点的。 因此,RoR 使您可以在非常短的时间内开发出可以运行的应用程序。 安装了 Ruby 和各种所需的程序包之后,您只需运行不到六个命令和编辑一个文件 (database.yml) 就可以创建一个最小的 Web 应用程序。
Rails 的专长是 Web 站点开发,大多数 Web 站点已经 使用 Struts、Tapestry 或其他技术构建起来了。利用 Ruby 时,基本上是将它作为一种与 Java 平台衔接的开发实践。
有了 Ruby on Rails,开发体验就显著不同了,这是由于两个原因。首先,Ruby on Rails 有一个核心的 Web 开发平台:Ruby on Rails.其次,到目前为止,大多数在 Rails 上的 Ajax 开发体验都围绕着两个核心框架:Scriptaculous 和 Prototype.Rails 方法使用运行时代码生成和定制标记,这使您不必理会复杂的 JavaScript.现在Ruby已经成为一门用途很广的语言。