Canada on Rails

A couple of us attended the sold out Canada on Rails last week, the first ever Ruby on Rails conference. It was a good conference, and I was surprised to see how far people had come for a relatively small event.

The conference was two days long, and most of the core Ruby on Rails luminaries were there, including and RJS author Thomas Fuchs, MeasureMap co-architect Michael Buffington, and of course David Heinemeier Hansson, the author of Ruby on Rails himself. BCIT was a bit tight for a conference of this size—the keynote was overcrowded and the ventilation was having trouble keeping up with that many Ruby hackers in one spot.

For the uninitiated, Ruby on Rails (RoR) is an Open Source web application framework, originally developed by 37Signals for their Basecamp product. It uses the Ruby dynamic scripting language, and has solid support for the AJAX techniques that are popular with the so-called "Web 2.0" sites.

RoR follows the Model-View-Controller (MVC) architecture. In this aspect, it is similar to many other web development frameworks such as Struts, but it has a strong emphasis on handling infrastructure components auto-magically, allowing developers to focus on the core business logic, rather than the plumbing required to support the application.

While nearly every web development framework has this as its goal, Ruby on Rails actually does a good job of turning it into reality. The combination of a dynamic, object-oriented scripting language (Ruby) and a flexible object-relational database layer (ActiveRecord) allows developers to quickly put together web applications. While there's no such thing as a silver bullet, that hasn't stopped a lot of people from making impressive productivity claims.

We've done a couple of in-house projects using Ruby on Rails and are currently working on a client project, and I like what I see. We're not going to become an all Ruby shop overnight, but this is a useful tool for projects that fall into RoR's sweet spot.

Regardless of the platform you develop with, Ruby on Rails is definitely worth watching closely. It's clear that RoR's mantra of Don't Repeat Yourself and Convention over Configuration has won a lot of converts, and given the way that new techniques are quickly adopted you can expect to see similar approaches in future versions of web technology platforms.