Slashdot Log In
Practical Rails Projects
Posted by
samzenpus
on Wednesday May 21, @03:08PM
from the read-all-about-it dept.
from the read-all-about-it dept.
Sean Cribbs writes "There are many beginning and advanced Ruby on Rails books available, from the authoritative Agile Web Development with Rails to the cookbook-style Rails Recipes. However, healthy guidance for intermediate-level developers is lacking at best. Ironically, this is the most crucial stage in the process of becoming proficient with Rails because one must begin to learn why, not just how. Eldon Alameda's Practical Rails Projects effectively fills that gap. I know Alameda from our local Ruby User Group and spoke with him frequently while he wrote this book. His expertise with Rails definitely shines through in the hefty 621-page volume." Keep reading for the rest of Sean's review.
| Practical Rails Projects | |
| author | Eldon Alameda |
| pages | 621 |
| publisher | Apress |
| rating | 8/10 |
| reviewer | Sean Cribbs |
| ISBN | 978-1-59059-781-1 |
| summary | A strong book for the intermediate Rails developer |
Practical Rails Projects has a unique and effective approach. Instead of spoon-feeding contrived code snippets, Alameda teaches by example, leading the reader step-by-step through the design, creation, enhancement, and analysis of several full-fledged projects. Each project introduces new techniques to the intermediate Rails developer carefully and with plenty of explanation — from caching to generating graphs to RESTful application design and much more. Rather than regurgitating documentation that is occasionally unclear or misleading, each application begins with a clean Rails project and is built up step-by-step with detailed commentary on how and why each step is taken. Alameda's format reflects the reality that real-life projects never have a straight development path; at each step one must make tough decisions, watch for pitfalls and take risks. There are no leaps-of-faith or "just trust me" moments, everything is explained. In the final chapter of each project, Alameda also suggests ways that the project could be improved and how to apply the newly learned techniques to previous projects in the book.
The text is clear and uncomplicated with an approachable style. Projects even makes Rails' least fun framework, ActionWebService (which helps you create SOAP and XML-RPC services), easy to understand. While there are some glaring proofing mistakes, such as "Ruby" uncapitalized and some malformed URLs to external resources, the code snippets are practically error-free and all source and binary resources are available via the Apress website.
One controversial decision made by Alameda was to use the ExtJS Javascript library extensively in one project to build an administration interface for a legacy site. ExtJS is a powerful high-level library that simplifies the creation of desktop-like interfaces in the web browser. Instead of spending a lot of time hand-crafting HTML/ERb templates and CSS, Alameda quickly creates an interface in ExtJS and uses Rails to generate XML and JSON that drives the almost entirely client-side application. While some may find this outside the spectrum of what should be in a Rails book, many developers are now creating their interfaces in Flex, SilverLight, and other client-side technologies. With the recent official release of ActiveResource, I believe we will see more web-service-focused Rails applications as time goes on. Alameda's choice is also practical; with a small number of users having access to the interface, he can place greater requirements on them in order to deliver the application more quickly.
Overall, I believe Practical Rails Projects is a strong book for the intermediate Rails developer. It provides an introduction to more advanced concepts of the framework without being preachy or obtuse. It lacks any discussion of test- or behavior-driven development with Rails, but the breadth and depth of the topics it covers makes up for this weakness. Like any book that covers a rapidly-changing open-source project like Ruby on Rails, Projects will date quickly, but in the near-term it should be of great help to developers looking to gain constructive experience.
You can purchase Practical Rails Projects from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
The text is clear and uncomplicated with an approachable style. Projects even makes Rails' least fun framework, ActionWebService (which helps you create SOAP and XML-RPC services), easy to understand. While there are some glaring proofing mistakes, such as "Ruby" uncapitalized and some malformed URLs to external resources, the code snippets are practically error-free and all source and binary resources are available via the Apress website.
One controversial decision made by Alameda was to use the ExtJS Javascript library extensively in one project to build an administration interface for a legacy site. ExtJS is a powerful high-level library that simplifies the creation of desktop-like interfaces in the web browser. Instead of spending a lot of time hand-crafting HTML/ERb templates and CSS, Alameda quickly creates an interface in ExtJS and uses Rails to generate XML and JSON that drives the almost entirely client-side application. While some may find this outside the spectrum of what should be in a Rails book, many developers are now creating their interfaces in Flex, SilverLight, and other client-side technologies. With the recent official release of ActiveResource, I believe we will see more web-service-focused Rails applications as time goes on. Alameda's choice is also practical; with a small number of users having access to the interface, he can place greater requirements on them in order to deliver the application more quickly.
Overall, I believe Practical Rails Projects is a strong book for the intermediate Rails developer. It provides an introduction to more advanced concepts of the framework without being preachy or obtuse. It lacks any discussion of test- or behavior-driven development with Rails, but the breadth and depth of the topics it covers makes up for this weakness. Like any book that covers a rapidly-changing open-source project like Ruby on Rails, Projects will date quickly, but in the near-term it should be of great help to developers looking to gain constructive experience.
You can purchase Practical Rails Projects from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Related Stories
[+]
Developers: Microsoft Linking Silverlight, Ruby on Rails 123 comments
CWmike writes "Friday Microsoft will demonstrate integration between its new Silverlight browser plug-in and Ruby on Rails. Microsoft's John Lam, a program manager in the dynamic language runtime team, said in a recent blog item: 'Running Rails shows that we are serious when we say that we are going to create a Ruby that runs real Ruby programs. And there isn't a more real Ruby program than Rails.' Also at the event, Microsoft officials will demonstrate IronRuby, a version of the Ruby programming language for Microsoft's .Net platform, running a Ruby on Rails application."
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.

621 pages? (Score:2, Funny)
Practical Rails Projects (Score:2, Funny)
- fencing material
- structural support for a building
I converted our corporate site from PHP to RoR (Score:2, Funny)
Re: (Score:3, Interesting)
You should have used modrails [modrails.com]. Suddenly, Rails deployment is as easy as PHP deployment. I no longer hesitate to put up little toy apps [infoether.com] since now I don't have to worry about mongrel clusters and init scripts and all that r
Objective? (Score:5, Insightful)
I would be a bit worried that this review might not totally objective or unbiased.
Reply to This
Re: (Score:3, Funny)
Upon seeing the headline "Mother loves, praises Child", Harold interjected "How do we know we can trust her opinion?
Re: (Score:3, Informative)
Re:Objective? (Score:5, Informative)
Reply to This
Parent
[OT] Re:Objective? (Score:2)
I agree with you re: the biasing tendencies/constraints inherently present in human physiology, as well human (group) psychology.
But of _course_ there's an objective viewpoint.
It's the viewpoint which ac
Already out of date? (Score:5, Informative)
Since there were some rather significant changes introduced in Rails 2.0, it is likely that many of the examples will no longer work as described. I know that is the case with current version Agile Web Development with Rails.
Reply to This
Re: (Score:3, Informative)
Re:Already out of date? (Score:4, Insightful)
Disclaimer: with this edition, I was recruited to be one of the authors of this book.
Reply to This
Parent
Re: (Score:2)
Rails docs could use the help (Score:3, Interesting)
I'm an experienced Perl and C guy who just wants to find a better way than CGI::Ajax to build slick web applications, but I found that I spent more time being annoyed with the documentation than actually learning. Intermediate indeed; Rails needs this.
Reply to This
Re: (Score:3, Interesting)
Rails Project (Score:2, Informative)
Shameless plug: my latest Rails project [howflow.com]. To give you an idea how powerful Rails is, HowFlow has been developed in exaclty five days from scratch. It is currently in private beta, but I'm han
RailsSpace seconded (Score:2)
I tried learning rails from Agile Web Development with Rails first, and I found that AWDwR has a huge deficiency: it frequently fails to explain the fundamental Ruby concepts and structures that it's using. (For example, I remembe
Re: (Score:2)
> Ruby concepts and structures that it's using.
David Black's Ruby For Rails [manning.com] is a great book for this; David explains the way Rails leverages all sorts of Ruby techniques to do what it does. Another goo
Wheres the projectile?? (Score:2)
My second thought was, why is /. covering trains?
THEN I remembered that Ruby decided to name their framework with that term...
tm
Ruby rocks, rails, meh (Score:2)
Then you probably do not "get" it. (Score:2)
True, there is strong incentive to "go with the flow", and learn the "Rails Way" to do things... but
Re: (Score:2)
Re: (Score:3, Interesting)
> more and more people complain about scalability.
Remember, languages (and frameworks) don't scale, architectures do.
> There have been numerous companies that have abandoned ship.
From where I sta
Re: (Score:2)
Most of the people complaining about scalability are complaining because it does NOT (contrary to what the other poster wrote) scale the same way others do. It takes s
Re: (Score:2)