Last updated: 7/16/12
Web applications are software applications that are stored on a remote server and accessed over the Internet via a browser. Ruby on Rails (RoR) is one popular open source framework that is used to write some of these applications, with sites like Twitter and Groupon being some famous examples.
How I Started
Seeing as how I wanted to write my own web application but had zero experience in Ruby on Rails (or writing any web application for that matter) I started with one book I heard folks talking about: Agile Web Development with Rails (Pragmatic Programmers).
And while it had some strong points (like the fact it has you start building an application right away, as well as a nice overview of the Rails framework), as a beginner, I still didn’t feel like it had given me the depth to roll out the web application I had an idea for.
And that’s when I heard about the Ruby on Rails Tutorial
One of the great things is that Michael lets you sample the book because he has the whole version online for free. So you can read it and work through it without having to spend a penny. But the downside is that you have to keep scrolling in your browser and I found that was inconvenient after a while. It’s much nicer to be able to have the book in PDF format as well as the screencasts. So I bought my copy and proceeded to work through it.
There’s a lot of strong points to it
It doesn’t matter if you’re a crackerjack web developer or just starting out
Michael doesn’t assume you’re an experienced web developer looking to jump into Rails. He takes you through the process of building a working Rails application step-by-step. Even though he doesn’t explicitly state it, it seems like he starts with the assumption that you’re a beginner at web development who may not be familiar with the Rails “ecosystem” and its associated tools. So he spends some time getting you up to speed on text editors for writing Rails code and installing a software version control system called Git, which is something that’s critical to know about when you’re creating a Rails application. It makes your life so much easier down the road.
Michael also has a great teaching style
Michael has a Ph.D. degree in theoretical physics and spent some time teaching physics at Caltech, a top-notch university in the United States. And it shows. The Ruby on Rails Tutorial has little footnotes sprinkled throughout the book that explain terminology and concepts. For example in Chapter 1, he explains what a URI is in the footnotes: “URI stands for Uniform Resource Identifier, while the slightly less general URL stands for Uniform Resource Locator. In practice, the URI is usually equivalent to “the thing you see in the address bar of your browser”.” This is pretty valuable stuff if you’re a new at web development and trying to come up to speed with all its moving parts.
The Rails tutorial also explains and has you implement a has_many :through association
In the official RailsGuides documentation, they briefly describe a has_many :through association. But until you implement it, in my opinion, it can be hard to understand it. But the sample application you develop with the Ruby on Rails Tutorial really helps cement the idea in your brain. I know it helped me.
By now, you might be wondering if there was anything I didn’t like about the tutorial
The only drawback I can think of is that because the Rails framework changes so fast, the tutorial can get outdated pretty quickly. For instance, I bought it when it was talking about Rails version 3.0. Then roughly 6-8 months later, an updated tutorial came out covering Rails 3.2.
By this time, I had enough experience (thanks to the tutorial and the work I had been doing) to fold in the changes without too much of a fuss. In reality, the tutorial updates are a function of how fast everything moves in the software world. I can say that I don’t think I would have been able to launch my own web application (or at least launched it as fast; for those who are curious, it’s AceMusicTeacher.com) without having read and worked through the Ruby on Rails Tutorial.
Summary and Final Thoughts
The Ruby on Rails Tutorial: Learn Rails by Example covers everything someone new to developing Ruby on Rails applications could need. I think it’s a good fit for folks new to web development and new to Rails.
You can even try it for free before you buy the book/screencasts.