Review: Agile Web Development with Rails
Posted by Jon Lee in Reviews, Ruby on Rails, tags: Agile-Web-Development-on-Rails, book, programming, review, Ruby on Rails, web development
When I first decided to learn Ruby on Rails, I came across two book recommendations on the official Ruby on Rails site. The first book is an introduction to web development with Rails, called Agile Web Development with Rails. The second is called Rails Recipes which includes many tutorials on using Rails in various situations. Not sure how deep I had wanted to dive into Rails, I only bought the first book.
I ordered mine (second edition) from Amazon and came out to about $25 US after tax and shipping. When it arrived, I was surprised at the size of it. I mean for only $25 I expected a nice compact introductory book but instead it came in at a hefty 700+ pages! Talk about bang for your buck.
The Authors
Agile Web Development with Rails is written primarily by Dave Thomas (not the late Wendy’s founder) and David Heinemeier Hansson (creator of Rails). Dave Thomas is of The Pragmatic Programmer fame (another book which I own and highly recommend). His pragmatic philosophy of programming really shines through in this book. This philosophy stresses the importance of being functional and practical (i.e. thinking ahead, writing highly maintainable and adaptable code etc.). The style of writing is very easy to read and follow in that it offers tons of real-life examples and situations that really illustrate the points that are covered.
Prerequisites
The book begins with the assumption that the reader has some prior knowledge of Ruby — if there is none, the Appendix provides a short but sufficient tutorial for any intermediate programmer to get started with. There really isn’t much to Ruby — if you’ve done previous object-oriented programming, it’s just a matter of getting used to the syntax.
Part 1 – Getting Started
The book is divided into 4 sections (plus an Appendix). The first section gives a little introduction and some history on Ruby and Ruby on Rails. It also walks the reader through the steps of acquiring the necessary software and development environments on the computer for all operating systems. This section is simple enough and for the most part, can easily be skipped if you have some knowledge of Rails prior.
Part 2 – Learning By Example
The second section walks the reader through the process of creating an entire web application in Rails. In this case, a shopping cart program (that uses AJAX!). I consider this to be the best part of the book. I would recommend that you take your time going through this section and actually follow along on your own computer. Also, I highly recommend doing the little exercises at the end of each chapter — if you’re stuck, there is always the online forum where other readers of the book gather to tackle these extra exercises. This “Learning by Example” method really gives you insight into the entire process of developing a web application. As I was following through the example, it was simple to see how different concepts could be extended to my own projects and how easy it would be to implement compared to PHP!
Part 3 – Rails Framework
In most books, this section would come at the beginning. It introduces the framework and goes into detail of what each component of it is responsible for. But having already developed a web application, I found that the explanation of the framework suddenly made a lot more sense. If anything, this section serves as very good reference material — meaning this isn’t just one of those read-it-and-forget-it books.
Part 4 – Security and Deployment
After developing the newest and best web application, it is important to make sure it is secure and of course, deploy it. The security section covered the usual stuff: SQL Injection attacks, Cross-Site Scripting etc. This wasn’t too exciting since Rails has most of its bases covered. What I was surprised by however, is how much detail the book went into when it came to deployment. It talked about production servers, compared different web servers, discussed setting up the deployment server and finally the launch.
Criticisms
My main criticism of the book is that although there is some humor, much of the book is very dry. It wasn’t as fun a read as The Pragmatic Programmer but that could be due to the fact that the book features many guest writers aside from Dave and David.
Second, you would think that with all their web experience, they could create a better looking website! It’s functional but could definitely use a bit of work in my opinion. But then again, we’re talking about web development and not web design. Also, I got the feeling that Dave and David didn’t like Vim very much as they promoted Emacs in several places in the book!
Conclusion
If you’re a budding web developer looking to dive into the wonderful world of Rails, I would highly recommend this book as a starting point. For those of you already familiar with Rails, this book would make a good reference but there are definitely better choices out there. But really, for twenty-something bucks, you can’t really go wrong with this hefty little book jam-packed with information.
If anyone else has read this book or has a book recommendation for getting started with Rails, I’d love to hear your comments!
Popularity: 2% [?]
Entries (RSS)