a work on process

Viewing posts tagged: tutorials

Practical Rails Projects is a weighty tome, coming in just shy of 600 pages, which led to this review taking a little longer than it otherwise might: not just because the book took a while to get through, but also because it wasn’t quite so practical to lug it on the bus as some of the others I’ve recently covered. A result of that heft is a fairly comprehensive volume, but one that doesn’t feel quite so consistent as it perhaps should.

Eldon Alameda has written the book for people who have some previous Rails experience or may have cracked open one of the introductory books on offer, but who want to learn the framework by observing a number of working projects. In some ways that leads to overlap with a book like Practical Rails Social Networking Sites, but whereas that built up one example this book covers seven ranging from a system to track progress through an exercise programme, to an appointment scheduler that interfaces with 37signals’ Highrise using ActiveResource.

The first few projects proceed at an even pace and are likely to be helpful to a newcomer to Rails, there’s a fair bit of overlap with examples available in other volumes, but they work well together. While the author discusses the decision to skip over the writing of tests and/or specs, it did seem that in a volume of this size that topic should have been given a little space, even if that involved sacrificing one of the sample projects.

Unfortunately the book loses pace a little later on, particularly with the introduction of the Ext JS library which is used to build user interfaces but ends up occupying far more space than the actual Rails code in the later chapters. Obviously Javascript frameworks are an important part of building many modern web applications and Ext JS is a worthy entrant, but the way it was used seemed quite inappropriate. The admin interfaces built with it would not gracefully degrade for users without javascript; there was no discussion of progressive enhancement or even of why the decision had been taken to build such an inaccessible system. When careful use of respond_to blocks can make progressive enhancement so straightforward in Rails, this seems a missed opportunity. At the very least the decision making process should have been documented, and ideally a better solution would have been offered.

I was similarly surprised to find a number of occasions where design decisions were made that conflicted with the RESTful approach that is now Rails convention. Early on that might have been one thing, but coming after a chapter extolling the virtues of resource-centric design that was quite a surprise and seemed an indication that the book had begun to sprawl a bit. In many ways it’s a shame that this book wasn’t broken up into a couple of volumes. Packaging the first few projects together as an introduction, then offering the last few as smaller supplements more tightly focussed on specific areas such as Ext JS usage, ActiveResource, etc. That way the material could have been tightened up and some of the repetition would have made more sense, and perhaps there would have been space to cover a few obvious missing pieces such as atom/rss feeds.

With a number of volumes now available that use specific projects to illustrate Rails techniques, this book isn’t so distinctive as it might have been a few months ago, and many developers will probably want to go for a more focussed, more succinct option. If your learning style benefits from taking things slowly and you don’t mind some repetition then this may be a good option, but don’t forget to read up on accessible web development while exploring later chapters.

Disclaimer: I was sent a copy of this book for review by the publisher. You can find it at apress, amazon US, amazon UK and all sorts of other places.

Recommend this post:

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

 

Taking readers step-by-step through the creation of the RailsCoders.net website, Practical Rails Social Networking Sites is a well paced guide to building web applications that tick many of the boxes of the moment.

The book starts with basics, giving simple instructions for installing Rails on a variety of platforms, and then steps through simple content management, adding users and groups, building a blogging engine, adding a discussion forum and photo gallery, integrating with Google Maps and Flickr, and deployment. Along the way the various aspects of rails’ testing framework are introduced as they’re used. The style isn’t test-driven, and it would have been nice to see that style introduced, but tests are written after each piece of functionality, demonstrating some of their use and importance.

Judicious use is made of plugins with a number of recommendations made throughout the book. restful_authentication is referred to, but its functionality is largely duplicated in the code. That’s probably a sensible move so early in the book as it’s important that developers understand what the code is doing even if they’re going to employ a plugin for the implementation. YM4R/GM is used to implement the Google Maps functionality and it’s good to see that getting some attention in print.

Readers who have already built a couple of rails apps may well find themselves skipping large chunks of content as a lot of the code will be familiar. As Stephen pointed out in his summary, it is a little curious that “The Apress Roadmap” suggests this as a more advanced title when it would probably work better for an engaged beginner than an experienced developer.

Of course, the great problem with publishing any rails title right now is that version 2.0 is just around the corner, and with its release we’ll see the end of built-in pagination and a few changes to the routes. As a consequence there are likely to be a number of readers who find that the examples in the book fail to run on the latest stable rails by the time they come to try them. Hopefully Apress will be able to offer a brief supplement with the book or online to help readers update the code for the new features.

Practical Rails Social Networking Sites is a solid introduction illustrating how simple it can be to build useful web applications with Ruby on Rails. I’d hesitate to recommend it to anyone with rails experience, but it will be high on my list of recommendations for beginners who are wanting to dive straight in.

Disclaimer: I was sent a copy of this book for review by the publisher. You can find it at apress, amazon US, amazon UK and all sorts of other places.

Recommend this post:

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

 

Learning jQuery

17 October 2006 (11:11 am)

By James Stewart
Filed under: Notes
Tagged: ,

jQuery keeps picking up speed. The lightweight (but with its plugins, apparently not feature light) javascript library is to be included in the next version of drupal and there appears to be some effort to provide rails helpers that will use jQuery rather than prototype.

That project will probably need to provide a drop-in replacement to convert me. Rails makes prototype use so very easy. But if it does, I’m sure I’ll be making use of my friend Karl’s recently announced Learning jQuery blog, which seems a great source of tutorials.

Recommend this post:

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]