Item Description: Introduction to the Catalyst Web development environment
Review Synopsis: Solid introduction - very worthwhile
This is an excellent guide to Catalyst as a complete solution to web application development. The content and presentation are excellent: clear, concise, and correct - everything builds nicely on what came previously. The examples work, are explained well, and go well beyond the standard "here's a toy database-backed application, isn't that nice?" - the book additionally covers form-building, sessions, building custom models (not necessarily database-backed) REST, AJAX integration, and goes into significant detail on testing and deployment. There are some minor errors, but these are fairly easily spotted and corrected by an intermediate Perl programmer; the few that might derail the beginning reader have been documented at the Packt Publishing website with corrections; I suggest picking these up to save time.
As to style, it's clear and concise. One interesting difference from similar books is that sometimes commands are inlined in the text, and sometimes shown in the code sections. Initially, I found this a little odd, but after reading a while and working through the examples, I found that it actually forced me to read the text carefully instead of just typing things in, and led to a better learning experience. I actually picked up much more because I had to read in detail.
The book does a good job of showing you what's to be done and how, and is precise about why you are doing any particular thing, doing an excellent job of keeping your understanding in sync with what you're doing. Anything that directly relates to getting your work done is there; detailed (and not particularly useful) descriptions of every possible option are not. This is a book for the reader who wants to get work done now.
Catalyst extensions and other CPAN modules are introduced a few at a time; as you work through the examples, you build up a nice toolbox of techniques and modules that make developing with Catalyst much easier. The pacing of this is quite natural and works very well.
Summary: Solid and recommended. Slimmer than most technical books (183 pages) but densely packed. You'll learn a lot, and what you'll learn is quite useful. Beginning Perl programmers will probably find it difficult; I'd personally recommend it to intermediate-to-advanced Perl programmers (with a basic understanding of Perl object-oriented programming) who want to get their teeth into a Rails-like Web development system, and who want a comprehensive and useful book. The book is definitely Unix-centric; Windows users may not find it useful unless they choose to use a Unix-like environment.