Agile Web Development with Rails

Many people (like me) want to start using Rails, but are a little intimidated by picking up a new language and framework. We don’t want to spend countless hours reading through online documentation and puzzling out how things work. We just want to get stuff done. Agile Web Development with Rails is written with this group in mind and it certainly delivers.

The book is targeted at people who are familiar with coding and object oriented design. While prior knowledge of Ruby is certainly helpful, the book works well for those who are new to the language as well as the framework of Rails (like me). For Ruby newcomers there is an appendix that covers some of the basics of the language. Let’s get on to the meat of the book.

Part 1 – Getting Started

This part introduces you to the basic architecture of Rails and the Model, View, Controller design pattern. It also walks you through the basic setup of Rails and you jump in with writing a “Hello Rails” application.

Part 2 – Building an Application

As the title of this part implies, you walk through creating a basic application. This does a great job of keeping the reader engaged while learning the basics of rails. You get to see very quickly how productive writing web applications in Rails can be. You write is a shopping cart with a database backend. While the application itself isn’t particularly interesting, the easy going writing style keeps you interested and you have things running in no time. My favorite chapter in this section was the very last which covered testing. You walk through writing unit tests and get introduced to test driven development.

Part 3 – The Rails Framework

This is where the heavy lifting happens. It’s not as entertaining and readable as part 2, but the authors do a good job of keeping you interested. There are chapters on ActiveRecord (the object-relational mapping (ORM) layer of Rails), ActionController, ActionView, ActionMailer, Web Services, and Deployment and Scaling. The chapters that had my interest piqued were “The Web 2.0” and “Securing Your Rails Application”. It’s good to see that security gets proper treatment in Rails.

Part 4 – Appendices

This is just the basic appendices for reference later on. There’s an introduction to Ruby, configuration information, source code, and resources.

My overall impression with the book is great. I’m still working through parts of it, but I can safely say that this is one of the best technical books I’ve read. Its conversational writing style kept me engaged and I didn’t fall asleep on it once! Seriously, if you’re thinking about or already working with Rails, I don’t see why you wouldn’t add this book to your shelf.

Agile Web Development with Rails is published by The Pragmatic Programmers. It is written by Dave Thomas and David Heinemeier Hansson (the author of Rails) with guests Leon Breedt, Mike Clark, Thomas Fuchs, and Andreas Schwarz.