Customer Reviews

6
2.5 out of 5 stars
5 star
0
4 star
2
3 star
0
2 star
3
1 star
1
Catalyst
Format: PaperbackChange
Price:£24.99+Free shipping with Amazon Prime
Your rating(Clear)Rate this item


There was a problem filtering reviews right now. Please try again later.

4 of 4 people found the following review helpful
on 5 May 2008
This is my first review of a book. I am sorry if I am too harsh. But these are my thoughts about the book. Good or bad, I would like to congratulate Packt publishing for accepting the publication of a book about a moving target. Catalyst is all but stable, and things change from week to week.

On to my comments:

The first chapter is a concise introduction to MVC. Instead of describing the details on what this approach means, the author motivates the user for its need. No big definitions are given: just the needed to understand the Catalyst architecture. At the end, a small section discusses the Catalyst framework installation. I would not add that section to the end of the first chapter, but probably as an introduction to the second one. But there are just details.

After this quick presentation on the MVC design pattern, the author introduces the implementation of Views, Controllers and Models. This introduction is very soft, but enough to the reader to start understanding the basics of Catalyst. Sometimes the author tries to explain a little detail that will be expanded later without much success. If you have an idea of Catalyst you will be able to start writing your first application and exploring some new features of Catalyst.

The third chapter main purpose is to present a basic CRUD: Create, Read, Update, Delete application. It starts with the definition of the database model, exactly where the most audacious reader will be making questions. This makes it a good complement of the previous example. Follows some details on how to build a form using Catalyst::Controller::FormBuilder, and how to use this form for creation and updating of database records. While the examples are easy to understand, all this reference to new modules makes it difficult to know the real power of each.

While I was expected some details on how to debug applications, so the reader could make more experiments and grow on his knowledge, the following two chapters are more of the same, presenting more plugins for Catalyst. While their content is relevant I feel like the reader have two choices: or follow just the examples presented on the book, or go digging on Catalyst documentation for help on debugging his application.

The fourth chapter includes two important sections: sessions and authentication/authorization. These sections present the basics for data persistence between requests, and a method for the authentication and authorization of users. Other sections on the same chapter include minor topics that I would defer for later chapters.

Follows a chapter with a new example, with a more complicated database. This new example is used to introduce more details on DBIx::Class module, explaining how to perform chained queries. It is also used to explain the Args attribute for controller methods. It is a shame that there isn't a section about chained actions, and that attributes like Args and Stashed are not present in the final index.

The next chapter is dedicated to the extension of DBIx::Class. It includes some details on how to access databases directly using SQL statements, and how to extend DBIx::Class packages with user-defined functions. Given that the previous sections were written in a tutorial approach, the DBIx::Class details are spread in three or four chapters.

The seventh chapter is another off-topic chapter. I know that it is important to have a WEB API to make other applications cooperate with our. I know that actual web sites are all full of AJAX. I know that I subscribe to a hundred of RSS feeds. But these are not important for somebody who is still learning to use the framework. These three sections are mostly a description of three modules.

Follows two important chapters: testing and deployment. I think these chapters are well placed at the end, and they are useful specially when the application is in the final moments. I still miss a chapter on debugging. How does a Catalyst developer debugs? Should she print debug messages to the standard error? Is there any way to get debugging information well structured?

My final remarks about the book is that it includes a lot of interesting material, and full of good examples. Although there is a good tutorial on CPAN by the same author of the book, I really advise to buy the book. It is a good investment!
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
1 of 1 people found the following review helpful
on 14 March 2008
This is the first Catalyst-related book to be published, and I'm very happy of this as Catalyst is my platform of choice for web application development. Packt seems like a great publisher, as it provides books on very specific topics that otherwise might end up being uncovered by the printed media.

Catalyst is a killer Perl application, and brings MVC web development to a new level. The main other available frameworks (i.e. Rails) try to impose the framework authors' choices on the developer (i.e. which templating system to use, which database abstraction library to prefer, ...); Catalyst simply provides a basic structure, along with a wide range of different choices which play well with this basic structure. This approach greatly improves the developer's opportunities to create customized and high-quality software, but it also has a downside: newbies find it difficult to enter the Catalyst world, as they have to make choices they're not yet ready to make, and so they might tend to walk away from Catalyst, leaning towards a different framework. Jonathan Rockway's book attempts to solve this problem, providing a beginner's guide to Catalyst where all the relevant choices have already been made by the author. This book tells you: "there's more than one way to do things, and this is my way; follow it, and then you might decide to stick with it or make changes but, in the meanwhile, you will have learned Catalyst".

Catalyst - Accelerating Perl Web Application Development begins with an introduction to MVC concepts and with an overview of the Catalyst installation. The main focus of the book is, however, development of applications, from simple to more advanced ones which involve complex database operations and authentication. The book assumes the developer already knows object oriented Perl fairly well, and follows a smooth path which allows him to learn Catalyst and the author's preferred modules: DBIx::Class for the database Model, Template Toolkit for the template View, and a selection of plugins. This selection isn't - however - a group of obscure Perl modules: they are the ones most widely used by the Catalyst community. So, what this book offers is also a series of "best practice" suggestions on what to use. The chapters on testing and deployment are a much appreciated addition.

Not everything is perfect. Code formatting, which doesn't feature any empty line to separate code blocks, might sometimes make it difficult to read examples - but it's minor thing. The part regarding the Authentication plugin is a bit outdated because of API changes - but things like this happen in every programming book. The chapter on the installation of the framework is just a few pages long, and doesn't cover the problems one might encounter - but it points to IRC chat and mailing lists where to ask for help.

All in all, this a good-to-excellent introduction to the Catalyst framework, and great first book on a framework which is becoming better and better every day. Rockway's work is the starting point for anyone seriously interested in building modern and scalable web applications, and in having some fun while doing that as well.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
1 of 1 people found the following review helpful
on 25 February 2008
Catalyst is a flexible and powerful framework for writing web-based applications in Perl. But with power and flexibility you'll always get a certain amount of complexity and on the occasions that I have looked at Catalyst for a project, the complexity has got the better of me and I've always turned to a less complex (and therefore less flexible and powerful) system. I knew that Catalyst was something that I should take the time to learn, but it always seemed like such a daunting task.

For that reason, I was really looking forward to reading this book. I'm the kind of person who learns best from reading a book and I hoped that with a few tube rides reading this book, coupled with a few practical sessions in front of the computer, I'd soon have Catalyst. I'm sorry to report that having read the book, Catalyst is almost as confusing to me now as it was before.

I don't think that much of the blame can be laid at the feet of the author. Jonathan Rockway is a member of the core Catalyst development team. I've read his blog and his contributions to various mailing lists. He obviously knows his stuff. I think he's been badly let down by his editors.

The problems are at two levels. Firstly there are many typos and errors that should have been picked up at the copy-editing stage, and secondly (and more importantly) I don't think that enough thought has been put into the organisation of the book.

Let's start by looking at the typos. The problems start before the book really gets going. On the "About the Reviewers" page, each of the two reviewers gets a paragraph to say thank you to various people. For the first reviewer this is typeset as a blockquote, for the other it's a normal paragraph. You might think that it's too nit-picking to point this out, but I see it as an indication of either poor copyediting or as rushed production process. And neither of those options exactly inspires confidence in a book.

At other points, the typos are more serious. On page 32, it says "We'll also need two more CPAN modules for this chapter. These can be created using the following". An experienced Perl programmer will almost certainly mean that the author meant "installed" instead of "created", but a newcomer to the language might well find it confusing. There are also errors in code examples, so I strongly recommend keeping a close eye on the book's errata page.

All of these are simple enough errors that could have been put right with another couple of rounds of proofreading. There are, however, deeper issues that would be harder to fix.

The book takes the reader through a number of Catalyst projects of increasing complexity. But I don't think that anyone ever really sat down and planned how these projects work together to give a coherent introduction to Catalyst. A lot of the time it reads like a collection of completely unrelated articles about Catalyst. Good articles. Interesting articles. But completely unrelated to each other.

There are also important things missing from the book. The introduction to Model View Controller architecture is minimal to say the least. It might work to reconfirm what the reader already knows, but it certainly wouldn't be much use to someone who is coming to the concept completely new. The same is true of a lot of the Perl in book. Catalyst uses a lot of pretty advanced Perl syntax but none of it is explained in any detail. You can argue that a discussion of function attributes would be out of place here, but surely there's room for a mention of the right section of the Perl documentation.

In fact external references are almost completely missing from the book.There are no pointers to other books that might help you use Catalyst more effectively. If you look at all of the best Perl books, they have many references oto other Perl books and web sites. This book mentions the Catalyst web site and mailing list at the start, but that's about it.

The obvious rival to Catalyst is Ruby on Rails. And if you read books about Ruby on Rails, they are all friendly books which do all they can to draw the reader into their way of doing things. This book isn't going to convince anyone who isn't already a Perl programmer who understands MVC. I can't recommend this book to anyone outside of that group.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
1 of 1 people found the following review helpful
Despite some of the earlier reviews I think this is a good book to start your Catalyst journey. It does expect you to have a reasonably good knowledge of Perl but you would'nt be reading if you did'nt. Yep, there are some errors in the text but the author does acknowledge this at the catalyst web site in the blogs section.

If you expect this book to think for you then you won't like it. If you prefer something that is more of a teaching tool and will guide or help you in learning Catalyst you will find this book very useful, as I did.

I'm hoping that this will be the start to a series of books on catalyst, maybe a cookbook and a reference would be nice...
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 4 people found the following review helpful
on 13 February 2008
I bought this book hoping to get a better understanding of Catalyst, and while this has finally happened, I had to work very hard to get there.

The book uses a number of projects to illustrate things, and this means that you repeat things quiet a few times. I can understand one very simple project then another that is carried throughout the book, but 3 seems too many to me.

It doesn't flow very well, and I found myself having to read a lot of stuff more than once to understand what was going on, despite a strong perl background.

Having recently finished reading 'Build your own Ruby on Rails web applications', I was expecting this book to be a lot more like that, and as a result I felt quite let down in both how the material was presented and the disjointed nature of the material.

This, coupled with numerous errors throughout the book means that I can't rate it more than 2 stars. In all honesty, I could have got to where I am just by reading the FAQ, doing the tutorial and then building on that. And I'd have lunch money to spare at the end :)
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
on 28 January 2009
The weakest part of this book is the index. It really is quite useless.

The rest of the book is poor, too. It's styled as a tutorial, but I learned much more from the tutorials on CPAN. This book will give you some code, but tells you very little about why things are done as they are (for instance, how about explaining the all-important action attributes?).
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.