开源框架Ruby on Rails成功之谜

在过去几年中,开源Web开发框架Ruby on Rails在Web世界中掀起一个小小的热潮。和软件领域中的许多事情一样,它的作用有些被夸大了。

没有什么东西能和人们对它宣传的一样神奇。但是Rails至少已经接近了这种高度,因此它同样值得我们对其进行研究。

不久以前,人们在问Rails是否会获得成功。我现在还保持当时对这个问题的看法。事实上,它已经取得了成功。那么我们现在或许会问:它为什么会取得成功?

源于真实世界的需要

Ruby on Rails在2004年发布了它的第一个公众版。现在它已经不是一个蹒跚学步的孩子。在2005年,David Heinemeier Hansson因为这个软件程序获得了“年度最佳黑客”奖项。在2006年,Rails赢得了2006年度Jolt大奖的最佳Web开发工具。Ruby on Rails和它的作者何以能获得如此殊荣?

我在这儿要指出的是Ruby和Ruby on Rails不是同一件事物。当然老手们都知道这一点,不过一些新手朋友或许对此还比较模糊。Ruby本身是一种语言,和Perl或Python类似,其早在1993年就开始出现。而Ruby on Rails则是一个使用Ruby语言编写的Web框架,大约在2003年开始出现。

Rails所掌握的第一件秘密武器就是,它来源于真实世界中的应用程序。Rails并不是最初的目标产物,当时是为了开发一个叫做Basecamp的Web应用程序。在Hasson和其他人开发这个应用程序的时候,他们多次发现,Web开发是一件令人痛苦的事情,而且耗时、具有反复性和注重细节。这给了Ruby on Rails一个诞生的机会。

在编写这个高度浓缩的Ruby编码的过程中,Hansson开始从界面的本质进行提炼,于是就诞生了Ruby on Rails。因此说它源于真实世界的需求,源于使用中的代码,源于开发者的每日体验。

Rails还受益于我所说的“二次编写”的原则。在创建一个系统的过程中,尤其是一个大型系统中,开发者学习到一些新的信息,发现了一些未曾预见的问题。每一个有经验的开发者有时候会想,“如果让我再次编写这个系统的代码,我可能会做的更好。”重写的代码往往更清晰、更简洁和更完善。它不仅仅是在技术上的改善,还包括更易维护、更易扩展和更强大,有时候甚至运行的更快。“编写、丢弃、再编写”的手法是一个令人难以置信的强大工具,但是因为时间和成本的考虑,它却很少被人们所使用。但是在Rails上的确应用了这种原则:它首先被作为一个应用程序的“内脏”被编写,然后被重新编写,进行抽象化以使其可以被任何Web应用程序所使用。

在Rails的成长过程中,它在代码中也积累了很多不好的地方。和清扫房间一样,软件维护也是一个永无止境的过程。但是由于它实际上是一个二次编写得出的系统,当Rails最终公开发布的时候,它已经比原来显得更简洁更完善了。

而且,我已经提到过Rails是开源的。这是一个重要的因素。Ruby on Rails可以被任何使用它或喜欢它的人来进行维护。他们可以根据自己的需要来增加功能,这是一个人人可参与的“草根”产品。

时间: 2024-12-09 20:54:55

开源框架Ruby on Rails成功之谜的相关文章

不可错过的12款开源的Ruby on Rails开发工具

Ruby on Rails是最有效率的Web框架之一,并且是开源的.它让开发者在许多方面更方便地进行开发.这就是我们为大家列出这10余款开源的Ruby on Rails开发工具列表的原因.如果你是一个希望用简单容易的方式编写一些真正伟大的代码的程序员,这个列表中的工具是你必须的.这个也是程序员的福音,因为它能十分显著地帮助程序员提高开发效率. 很多 Web 和移动设备的应用已经使用Ruby on Rails进行开发.这也是开发者总是对便捷工具渴望的原因,它能帮助开发者更快地编写代码.在这个竞争激

《开源思索集》一Java社群该向Ruby on Rails学习些什么?

Java社群该向Ruby on Rails学习些什么? 开源思索集 软件开发者是分社群的,大多数时候都是按照语言来划分大的派别,门派不同的人,很少相互交流--"跟那种用XXX的有什么好说的".越是这门语言足够的自给自足,越是懒得看别的语言的东西.作为一个次新兴语言,Java社群已经足够封闭了.自己内部热闹非凡,新技术.新名词.新战争.新领袖层出不穷,哪里有空去理会Java以外的世界? 可是最近的事情有点奇怪了,Java社群在非常热烈的讨论另外一个语言的项目"Ruby on R

重构TekPub从ASP.NET MVC框架迁移到Ruby on Rails

TekPub是一个面向开发人员的站点,致力于为开发人员提供一系列主题的在线培训,主题范围非常广泛,从微软的O/R Mapping框架Microsoft Entity Framework,到如何使用Ruby on Rails技术编写自己的日志引擎等内容都有涉及.该网站是由前微软员工Rob Conery与Lounge的老板James Avery创立的. TekPub是个很有趣的学习案例,公司开始时使用ASP.NET MVC框架,之后很快迁移到了Ruby on Rails上.InfoQ与Rob和Jam

Ubuntu上配置Ruby on Rails框架及RubyMine IDE开发环境_ruby专题

准备阶段的碎碎念 在virtualbox安装过程中由于这样那样的原因,产生许多坑. 坑1.关于终端,一定要使用启动器打开 安装完虚拟机,进入系统,我们便会遇到第一个坑,终端软件,建议大家都使用启动器打开终端, 千万不要使用文件管理器,进入文件夹,再右键"在终端中打开",这个时候,环境变量加载不上,尤其在非桌面文件夹进入时.终端加载不上环境变量,大多的软件都没法在终端中执行. 打开终端时,一定要通过启动器,所谓启动器,就是在bantu中放在桌面左侧的侧边栏,很像windows中的快捷方式

一起谈.NET技术,重构TekPub——从ASP.NET MVC框架迁移到Ruby on Rails

TekPub是一个面向开发人员的站点,致力于为开发人员提供一系列主题的在线培训,主题范围非常广泛,从微软的O/R Mapping框架Microsoft Entity Framework,到如何使用Ruby on Rails技术编写自己的日志引擎等内容都有涉及.该网站是由前微软员工Rob Conery与Lounge的老板James Avery创立的. TekPub是个很有趣的学习案例,公司开始时使用ASP.NET MVC框架,之后很快迁移到了Ruby on Rails上.InfoQ与Rob和Jam

Ruby与Ruby on Rails框架环境搭建的简明教程_ruby专题

安装Ruby与升级RubyGems提示:在Ubuntu环境下安装过程中,如果提示权限问题,可以使用sudo make和sudo make install. 1.Ruby安装 wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz \ && tar -xzvf ruby-1.9.3-p125.tar.gz \ && cd ruby-1.9.3-p125 \ && ./configure

Ruby on Rails框架程序连接MongoDB的教程_ruby专题

前边有介绍mongodb的安装以及ror项目的搭建,现在进行一下整合. 1.创建项目 创建项目时不再使用rails active_record支持 rails new todo -O 2.我们将要使用MongoMapper来驱动MongoDB到Rails 编辑GemFile,增加下面的内容 gem"mongo_mapper" 然后  执行 bundle install 安装gem bundle install 3.添加数据库链接 在config/initializer下面新建一个mon

Windows下Ruby on Rails开发环境安装配置图文教程_ruby专题

本文详细介绍如何在Windows配置Ruby on Rails 开发环境,希望对ROR初学者能有帮助. 一.下载并安装Ruby Windows下安装Ruby最好选择 RubyInstaller(一键安装包). 下载地址: http://rubyforge.org/frs/?group_id=167 . 我们这里下载目前较新的rubyinstaller-1.9.3-p0.exe 一键安装包.这个安装包除了包含ruby本身,还有许多有用的扩展(比如gems)和 帮助文档. 双击安装,安装过程出现如下

面向企业的Ruby on Rails

曾有开发者预言,Rails不可能成为企业应用的主流.但随着Rails在Web开发中的逐渐普及与流行,越来越多的企业开始在Rails上面投入更多关注,同时面向企业复杂业务逻辑开发的Rails应用也逐步出现. 诚然,在Web 2.0网站开发中无往不利的Ruby on Rails(简称ROR)完全适应企业应用,但是仍然还需要走很长的路.不可否认,尽管Rails在企业开发中依然是优势与弊端并存,却已在部分成功案例中显露出锋芒. Rails与传统企业开发语言 随着科学技术的不断更新,企业IT系统也一直向着