Playing with Ruby on Rails

I’ve had this on-again, off-again experience with Ruby on Rails. For those of you that don’t know Ruby on Rails is a really simple framework and model for building Web applications very quickly and easily. This is not new news and in fact Ruby on Rails has gotten some very significant attention. As a Microsoft guy for many years I simply glanced in the direction of Rails and said "meh". I was immersed in the Microsoft development tools for so many years I wasn’t willing to look very hard at things outside my .Net / Visual Studio / C# comfort zone.

My positive experience with my Mac switch led me to rethink that strategy, or at least give it a much better try than the quick glances I gave it before. I did a lot of research, found a lot of information and have found lots of controversy as to whether there is a future in Ruby on Rails. I’ve also found lots of evidence that some pretty large sites are using Ruby on Rails for their projects. In spite of all that I am in the early stages of really pushing it and so far I like what I see.

The initial challenge was setting up the right build environment which included a MySQL instance and several other components. I struggled with it at first because it was so difficult to deal with, hence the off-again part of the experience. Part of the challenge was that Ruby on Rails (RoR) was in a transition from 1.2 to 2.0 and there were some significant changes to the framework. I started playing with Rails before most of the help and assistance information was updated to reflect the new 2.0 version.

A few weeks ago I came across a post on the Apple Developers site that walks through what’s required to actually get Ruby on Rails 2.0 set up and running on Leopard. Turns out I was using 1.2 instructions for getting Rails up and running and the release of 2.0 switched to use SQLite3 as the default development database engine. If you have ever entertained the idea of playing with Rails and you are running Leopard, check out that two part post. It’s really easy to follow along with.

One of the things that Apple did and documents in that post is allow you to use Xcode to manage your Rails project. While I found the environment to be pretty cool I liked the editing surface in TextMate, which also has pretty good support for Rails constructs and Ruby code.

In addition I went out and purchased a slew of books that I figured would help me in my education with Ruby the language and Rails the framework. I’ll list some of these in later posts as I form more of an opinion on them. One word of caution though: If you just run to Amazon like I did and buy Agile Web Development with Rails you will be disappointed. Not because it’s a bad book – I like the style – it’s because the book’s tutorial does not work with Rails 2.0. They are selling a PDF version of the new book that is supposed to come out in October that will have a tutorial that actually works.

In the mean time if you want to give Ruby on Rails a quick spin on your Mac you should follow those Apple Developer instructions I linked to. Here are a couple more that may get you started and help get some perspective on Ruby on Rails:

Much as I have done with my Mac experience, I hope to share some of my learning process about Ruby on Rails as I go along, from the perspective of a .Net / C# / Visual Studio guy. I know I have a fair number of readers that are using Visual Studio now on their Macs so hopefully you’ll get some value out of this.

Who knows though – it may be a very short series if it doesn’t go well.