Ruby on Rails, the next tidal wave?

September 02, 2006

rails I've been looking for information about the new buzzword in town: Ruby on Rails (aka RoR). I thought it was just another web development framework, like Struts for instance.

I was wrong.

First of all, Ruby on Rails are two related technologies stitched together, namely Ruby and Rails.

Ruby is a fully-fledged object-oriented language. It has some of the elegance of Python, some of the power of Smalltalk and some spartainty of SML. It was developed in Japan in 1994, and in the last years it began to spread around the world. Ruby seems to follow natural (at least in English) order of words, so the code in Ruby is easy to follow, as much as I could see.

Check for yourself:

| "gin joint".length | | "Rick".index("c") | | -1942.abs | | sam.play(aSong) |

Rails is a database-backed web framework built with Ruby. It has full object-relational mapping support, AJAX handlers, auto-generated code and it implements a Model-View-Controller (MVC) paradigm. It relies heavily on reflection and metaprogramming.

So, what's the sum of those two pieces of technology? Ruby on Rails, claimed to be "the most productive web development framework so far".

Is it so? I am a born skeptic, so I paid more careful visit to the tutorials and other documentation available on the RoR site.

I'm still perusing it, but I'm impressed. RoR allows you to use scaffolding, or code generated by default, to have a working CRUD application while you build your own features. Then, you just remove the scaffolding, much like when building a house.

The productivity of RoR is what shocked me: the flagship application of Rails, Basecamp, is a full project collaboration portal (SharePoint Light, I'd say). It was build by a single developer in two months and contains a mere 4.000 lines of code.


Profile picture

Written by Edin Kapić Insatiably curious code-writing tinkerer. Geek father. Aviation enthusiast. Cuisine journeyman. Follow me on Twitter