Tuesday, November 28, 2006

Book Review: Beginning Ruby on Rails E-Commerce

I've had my copy less than a week now, but this is rapidly climbing my list of favorite Ruby Books. I had the opportunity to interview Jarkko Laine, one of the authors (with Christian Hellsten), and that really whetted my appetite for the book. Now that I'm reading through it, I have to say that I'm even more impressed than I thought I'd be.

The book is built around the development of a book store's online store (and some additional features). Christian and Jarkko do a good job of walking through the development process, leading you along as you learn about Ruby on Rails.

One of the first things that jumped out at me was their description of the Scrum flavor of Agile Development. Not only was this a nice readable description, it was the first of many 'bonus features' I found. I appreciated having a couple of pages devoted to helping improve my development process.

Another nice piece I saw was the coverage of Ferret and the acts_as_ferret plugin. (I interviewed Dave Balmain, the developer of Ferret, a while ago.)

Chapters on localization,integration testing, deployment, and performance tuning (including some good bits on Eric Hodel's awesome Rails Analyzer tools) close out the book and really cap things off well. This book goes way beyond just writing code — it's about writing code right.

My only wish is that they'd have had more coverage of Mongrel (it only gets a mention in a sidebar), SQLite, and PostgreSQL. Oh well, no book is perfect — maybe they'll make it into a Second Edition.


James said...

Greetings Pat.

I lack the experience you do with Rails, so I'm wondering why you wish there was greater coverage on the PostgreSQL and SQLite side of things?

pate said...


SQLite provides a fast, small SQLish database embedded in the application, so you don't need an external database with the associated overhead. SQLite seems like the perfect solution when dealing with a home library management system in Rails, or a small application for managing club membership information.

PostgreSQL is a higher end database, that its fans say provides the features that MySQL lacks. I've never had the need to use it myself, but I know other people who swear by it.

In general, I would have like to see more coverage of them (and mongrel) just to broaden the picture a bit.