Ruby on Rails(官方简称为Rails,RoR非官方简称)是使用Ruby这套开放原始码(采用MIT授权)、物件导向程式语言所开发的Web开发框架,主要用于开发数据库网站应用程式。Rails是一套专业的开发框架,采用了MVC(Model-View-Control)模式、内建支援单元测试和整合测试、支援Ajax和RESTful接口、ORM机制,以及支援各种最新的业界标准像是HTML5、JQuery等等功能。它的发明人是David Heinemeier Hanson(DHH),DHH是2004年将Rails从37signals商业产品中独立出来成为开源专案。
它的设计目标是只要开发者熟悉它的惯例,它就可以让网站开发变的非常容易。而相对于其他程式语言和框架,Rails可以让你用更少的程式码达成更多的功能,它甚至让网站开发变得更有趣。
Rails的哲学包括以下指导原则:
这是一个开发框架的时代,熟悉开发框架的人,可以很快的完成任务以及熟悉网站程式的架构。而各种程式语言要入门上手,其实都不会太困难。我认为重点会在于你不能够熟悉做事情的框架。
所以,撇开程式语言的偏好,Ruby on Rails是目前网站开发框架中做前端(提供动态HTML给浏览器)应用服务器最为成功和技术先进的。它的概念也深深影响了非常多其他程式语言的后进网站开发框架,例如ASP.NET MVC、CakePHP、Grails、TurboGears、Pylons、web2py、catalyst等等(模仿是最大的恭维)。我们可以用非常有效率的程式码开发出网站应用程式。另外,可能会让你感到意外的是,它也是目前动态语言中,生态圈最为丰富的网站开发框架,相关的书籍、研讨会、顾问公司、第三方服务、外挂套件等等十分丰富。因为使用Rails的人数众多,所以在开发上各个方向都有人提供了最佳实务,像是如何写出好的程式码、网站安全性、网站性能、扩充性、全文搜寻、异步处理等等,这是一个非常活跃的社群。
当然,最重要的一个理由,就是采用Rails后生产力暴增:写新的应用程式、增加新功能变成容易地多。让你可以用更少程式码做更多的事情,而且程式也更容易维护。当然,学习新工具总是需要时间投资的,一开始可能没办法立刻见效。但是如果你有长期的开发工作,而且网站有一定的复杂性,那么一个短期学习Ruby on Rails的投资,长期来说将会是非常值得的。
Rails是一套使用Ruby开发的网站框架。如果您对Ruby一无所知就一头栽进Rails,恐怕不是个好主意。
Ruby是一套开放原码、物件导向的动态直译式(interpreted)程式语言,它有着简单哲学、高生产力、精巧、自然的语法。他的创造者是来自日本的松本行弘(又名Matz),设计的灵感来自于Lisp、Perl和Smalltalk,设计的目的是要让程式设计师能够快乐地写程式。
让我们看一个非常简单的范例:
irb(main):001:0> str="aaaaa"
=> "aaaaa"
irb(main):002:0> 5.times {p str}
"aaaaa"
"aaaaa"
"aaaaa"
"aaaaa"
"aaaaa"
=> 5
这的范例就简单告诉我们有关Ruby的三件事情了: