Ruby 是一种动态语言(类似python,相对而言Java是一种静态语言),作者是Yukihiro Matsumoto(Matz),他在1995年首次公开发布Ruby语言。Ruby语言以自然、简洁、快速著称,完全支持面向对象。Ruby On Rails 是丹麦的David Heinemeier Hansson (DHH)使用Ruby语言开发的一种Web框架。“不要重复你自己(DRY) 、直觉习惯优于配置(PCTC)” 是Ruby On Rails(以下简称ROR)的2个开发原则。从字面上来看意思是:用ROR来开发不会做很多重复性的工作,也不会有很多配置文件,但会有很多约定熟成的规则你要去遵守,因此才大大提高了ROR的开发速度。Ruby的这种新的开发模式向传统的开发模式发起挑战,也引起了Java届的热烈讨论。
我不敢说ROR现在已经取得了成功,但是在某种意义上来说,ROR确实取得了一定的成功。2005年,创始人DHH因为这个软件程序获得了“年度最佳黑客”奖项;2006年,Rails赢得了2006年度Jolt大奖的最佳Web开发工具。2007年Computer World报里名列2007年最应该了解的技术第一名,当然这些可能仅仅是一种名誉上的说法,ROR的好处只有在使用过程中才能够真正的体会到。
目前在开发界ROR还存在很多争议,主要集中在ROR是否能够进入企业级开发的应用上,相信任何一种语言在发展的初期都会经过类似这样的情况,Java也一样。随着近几年的发展,ROR的应用已经越来越多,应用范围越来越广泛了,而目前能让大家看到的例子主要集中在Web2.0的一些互联网应用。这也导致了很多人对ROR产生了偏见,ROR在企业级应用的开发上也逐渐在发展起来,以著名软件公司ThoughtWork为首,力推ROR的企业级应用,已经取得了一定的成功。
为什么要选择ROR呢?主要原因如下:
1.开发速度要快,缩短项目的开发周期,降低成本提高资金周转率。
2.ROR的结构清晰,代码量少,容易维护,从而降低维护成本。
3.对Ajax制作支持比较好,能开发出易用性比较高的B/S程序
4.资源丰富,近年来Ruby的各种优秀的资源包不断涌现,节约开发时间和成本。
5.ROR可以进行敏捷开发,适应多变的网络环境,和用户多变的需求。
ROR能够用来开发什么呢,很多人在网上经过粗略的了解可能认为ROR只能够用来开发制作一些小的东西,ROR完全可以开发出“大”的东西来,高负载、高并发访问的Web2.0网站,数据复杂的管理信息系统,也可以是复杂的互联网应用。一些小的定制性比较高,需求变动比较频繁的Web应用等等 都可以用ROR来实现。包括SaaS(软件即服务)应用程序同样可以用ROR。国外的发展要比国内发展情况好很多,各大主机提供商均推出ROR空间,有些还特别为ROR量身打造了可以直接在线开发的ROR空间,由于空间普及的情况比较好,所以网络上ROR的应用也相当广泛。随着最近Ruby解析器新版本的发布,以及ROR新版的发布已经为ROR走向企业级应用的开发,做好了充足的准备。期待09年ROR的发展。