|
Book review: "Agile Web Development with Rails"
In all my years of reading, using and reviewing technical books, this is the first title I've read cover to cover, and in so doing actually built the sample application from start to finish. Most other books use a series of disconnected This book was my first foray months ago into the beautiful world of Rails development, and continues to function as the crowned jewel in my reference library anytime I have a question about Rails or Ruby.
The developer that gets the most out of Ruby on Rails is the experienced programmer with a diverse background (expertise in some programming language, database/SQL experience, server administration, etc.). This is the crowd that will appreciate the rapid development features of Rails, abstracting away many of the tedious tasks necessary to build stable, scalable, secure web applications, with a fraction of the code.
Dave Thomas pens a classic tutorial on building a practical e-commerce app, applicable in several diverse scenarios, and certainly helpful in its design of leveraging the capabilities of the web framework. There's also insightful contributions by Rails creator David Heinemeier Hanson, which helps for some of the more niche concerns experienced developer have likening Rails to platforms they may be more familiar with.
Each chapter is fairly succinct, teaching proper Rails software design, coding conventions, and incorporating OOP principles.
The book is essentially presented in three parts: building the sample app; learning best practices development on Rails; and a healthy collection of appendices that introduce Ruby syntax. While I didn't necessarily agree with the book's organization at first glance, it does make sense when you realize just how easy it is to setup powerful, automated systems with Rails learning in such a fashion. You'll get up and running with the easy stuff and then move onto the more advanced topics.
In criticism, I would have liked to see a more robust appendix of Ruby and Rails APIs (at least documenting some of the more popular properties, method and events), as well as a cheat sheet for the common command-line syntax used in setting up apps. I would also have liked to see a little more documentation about using databases other than MySQL, and perhaps a tad more of a discussion on MVC architecture, at least academically. It would have also been nice to dive a little deeper into working with e-mail and some of the more advanced XML features with Rails. True to the framework which is represents, the book does move at a frenetic pace.
But that aside, this is the best, easiest way to learn Ruby on Rails. This will be the best investment you've ever made into the open source space.
|