Technology Electronic Reviews
Volume 14, Number 1, June 2007
Return to more reviews in this issue
REVIEW OF: David A. Black (2006).
Ruby for Rails: Ruby Techniques for Rails Developers. Greenwich, CT: Manning Publications. (ISBN: 1932394699 ; 9781932394696). 532 pp. $44.95.
By Jenny Emanuel
Ruby for Rails is a new, dynamic method of creating web applications using two different skills: the Ruby language and the rails framework. In order to build a successful application, you must be familiar with both skills. Familiarity promises a quick and easy way to develop web applications. Ruby on Rails is often heralded as the easy way to build dynamic websites in a very Web 2.0 manner, and therefore I was eager to try it out and see if it could be utilized to make library content, services, and resources more dynamic and easily maintainable.
I found that to be wishful thinking. I normally pick up web programming skills fairly easily, and usually a thorough book and a few online tutorials can get me up and started within a couple of days. I was wrong because Ruby is more closely connected to the C and Java languages, which I do not have experience with. Nevertheless, the book did provide coherent material for those who do have programming experience as well as many interesting examples to help the user determine what can be done using ruby on rails.
Ruby for Rails, by David A. Black is often discussed in web programming circles as the definitive guide for the ruby on rails framework. It was the first comprehensive book published on ruby on rails, and although there are now several publications on the topic, the general feeling is that
Ruby for Rails is still the most detailed, accurate resource.
The book itself is divided into four areas: the ruby/rails landscape, ruby building blocks, built-in classes and modules, and rails through ruby - ruby through rails. The first section, describing the landscape of ruby on rails informs the reader about what ruby and rails can do for web applications and focuses in on the current trends of ruby programming as well as describing some examples of how ruby on rails is being implemented today. For someone not interested in programming with ruby on rails, this section provides a comprehensive view on what it is, how it can be utilized, and how it works.
The next two sections detail the semantics and process of actually coding with ruby on the rails framework. These are very useful sections for those who want both the quick and dirty about Ruby and very detailed explanation and details about the various aspects of ruby on rails coding. These two sections detail all the objects, variables, classes, and module specifications that will allow the reader to learn the code inside and out.
The final section provides interesting examples as to how ruby on rails can be applied in real world situations. Although the examples are interesting to the casual reader, it helps to have a thorough understanding of programming with ruby on rails in order to understand them. The examples are based upon the code and show how manipulating the code can provide very different results, and therefore are more useful to someone with ruby experience.
Ruby for Rails is a good resource that will appeal to those with a moderate level of programming experience who wish to learn to make fairly easy web applications. It is definitely not for the beginner interested in learning about ruby on rails because the reader does need a thorough understanding of programming to get quickly started. Additionally, advanced users who already have an understanding of the ruby programming language will probably find this book too repetitive for their needs and will need a more advanced publication to aid them in stretching their knowledge further.
Jenny Emanuel is Assistant Professor and Electronic Services Librarian at the James C Kirkpatrick Library, University of Central Missouri, Warrensburg, MO.
Copyright © 2007 by Jenny Emanuel. This document may be reproduced in whole or in part for noncommercial, educational, or scientific purposes, provided that the preceding copyright statement and source are clearly acknowledged. All other rights are reserved. For permission to reproduce or adapt this document or any part of it for commercial distribution, address requests to the author.