Review of “Build Your Own Ruby on Rails Applications” by Patrick Lenz
Build Your Own Ruby on Rails Web Applications is a new book by Patrick Lenz published by SitePoint. The book is available order in print and PDF forms (click the preceding links to order direct from SitePoint).
BYORoRWA (hereafter called "the book") is a very practical Rails book that focuses almost entirely on the development of a Digg-like Web application from start to finish. There's a comprehensive guide to install Rails on Windows, Linux, and OS X, and within 50 pages most of the concepts relating to Rails and creating, running, and accessing a dummy application are covered. This is quickly followed by a 38 page 'primer' on Ruby that will be perfect for people already experienced with languages like Ruby, Python, C, C#, and so forth, but less useful for outright newbies. If you're reading Ruby Inside, however, it's likely to be a perfect brush up! The book then works through all of the key Rails concepts in a way that's related to the development of Shovell, a Digg-like application. Testing is covered to a reasonable depth, including integration tests, which is good since this can be lacking in a lot of documentation.
The presentation of this book is superb. I am not familiar with SitePoint's other books, but the way this book is laid out is first class. The headings are clear; code examples are shaded and in a easy-to-read font; there are lots of illustrations and screenshots. We're not looking at Head First-esque frivolity either.. this book's presentation is clear, crisp, and to the point. It's very easy to follow and easy to find what you want. If SitePoint made a Rails reference book, I would be all over it.
The coverage of the book is good too. It covers things like RJS and AJAX, integration testing, the Rails console, application deployment, migrations, generators, and most of the things an up-to-date Rails programmer should be familiar with. One problem, however, is that while everything is compatible with Rails 1.2, the timing of the writing of the book means it couldn't cover some of the new Rails 1.2 features specifically. The biggest notable omission is REST (which doesn't even make it in as a reference in the index). Routing also feels very rushed over and isn't covered in any non-superficial depth. UTF-8, Unicode and internationalization are also unmentioned, but it could be argued all of these unmentioned topics would be more suitable in a book following on from this one once the reader is comfortable with developing basic applications.
My conclusion is that if you're a Ruby developer who hasn't played much with Rails, this is the book to get. If you're a new-ish Rails developer who still wants to learn different approaches to application development, again this is the book to get. If you're a 1+ year Rails developer, it's probably not for you unless you need to brush up on the concepts, since it doesn't really cover Rails 1.2 specifically at all (although it generally respects Rails 1.2 standards).
Disclaimer: I was not paid or coerced into writing this review, but I will make $8 per sale by using the main book link above. This is more an experiment than anything, and any funds raised will be disclosed here at Ruby Inside and put into a forthcoming Ruby competition or used to sponsor a Ruby-related project.