almediah.fr
» » Catalyst: Accelerating Perl Web Application Development

Download Catalyst: Accelerating Perl Web Application Development eBook

by Jonathan Rockway

Download Catalyst: Accelerating Perl Web Application Development eBook
ISBN:
1847190952
Author:
Jonathan Rockway
Category:
Web Development & Design
Language:
English
Publisher:
Packt Publishing (December 11, 2007)
Pages:
200 pages
EPUB book:
1395 kb
FB2 book:
1379 kb
DJVU:
1800 kb
Other formats
docx mobi azw rtf
Rating:
4.3
Votes:
639


Jonathan Rockway is a key member of the core Catalyst team and has been giving Catalyst presentations for years.

Jonathan Rockway is a key member of the core Catalyst team and has been giving Catalyst presentations for years. This experience shows as the advice and best practices offered throughout the book are solid. The first real sample application described is an address book. My recommendation is if you know you are going to be doing development with Catalyst, "Catalyst" the book would probably be a useful reference and you'll find many of the examples reusable.

Download books for free.

Catalyst - Jonathan Rockway. Jonathan Rockway, a member of the Catalyst Core Team, has been programming Perl since his middle school years. He became professionally involved with Perl when we was a desktop support minion at the University of Chicago and inherited a mod perl application. He now works as a software developer at Infinity Interactive.

Many web applications are implemented in a way that makes developing them painful and repetitive.

Goodreads helps you keep track of books you want to read.

We tend to keep things small and simple

We tend to keep things small and simple. This gives us robustness and scalability - your Catalyst-based app also inherits those. No complicated object hierarchies.

Design, develop, test, and deploy applications with the open-source MVC Catalyst framework. This book is for web developers with basic Perl skills who are new to Catalyst. If you are excited by Ruby on Rails but would like the features of Rails with the familiarity of Perl, pick this book and get started.

The Definitive Guide to Catalyst: Writing Extendable, Scalable and Maintainable Perl-Based Web Applications.

This book embodies Catalyst's philosophies of Do It Yourself and Don't Repeat Yourself. Jonathan Rockway, a member of the Catalyst Core Team, has been programming Perl since his middle-school years. Understand the Catalyst Framework and MVC architecture. He became professionally involved with Perl when he was a desktop support minion at the University of Chicago and inherited a mod perl application. In his spare time, he maintains a collection of modules on the CPAN and tries to speak at as many Perl conferences as possible.

Design, develop, test, and deploy applications with the open-source MVC Catalyst framework. This book is for web developers with basic Perl skills who are new to Catalyst. If you are excited by Ruby on Rails but would like the features of Rails with the familiarity of Perl, pick this book and get started.
  • Nikohn
Working through the code in this book is tedious. First the code is no longer available on the book site and second what is printed in the book is full of errors. One path left out a subdirectory. A piece of the code had the word Catalyst in it instead of just the letter c:

[% Catalyst.uri_for(:/address/add/$person.id")

There are other things wrong with that line but this is not an errata sheet for the book.

Perhaps these things are at the book site, there does seem to be a large errata section there.

There are some insights in the book but it is sadly marred by a lack of support and the errors it contains.
  • Jothris
I am not sure how to rate this book so I gave it 3 stars. I don't want to give it a bad rating because I have not worked through it yet, but I have a major problem with it that I felt I should put out there for others:

This is the same book as Catalyst 5.8 by Antano Solar John.

Why the publisher did not publish the newer Catalyst 5.8 by Antano Solar John as an updated new version is beyond me. The reason this bothers me is that I bought a used copy of this book and I already have a new copy of Catalyst 5.8 that I am about to start studying. I had come across a blog post about this book and ordered it without a second thought and was [email protected]##!!!ed off when it arrived and I discovered I bought an old version of the new book that I had already bought.
  • Beranyle
In a time when less experienced users are experimenting with web frameworks for development, Ruby on Rails has gained notable marketshare in the area of easy set-up and minimal configuration. As one of many Perl-based frameworks, Catalyst operates in the same space and for many new users will be measured by this same quick-configuration criteria. So it follows that many users will want a book that will get them up and running quickly.

The Catalyst book succeeds in getting to the point quickly and diving in. Chapter 1 gives you a very quick overview of Model-View-Controller (MVC) architecture. Chapter 2 then starts with a simple Catalyst application, essentially a 'Hello, World' application. Keeping with the goal of easy configuration, the initial set-up involves running a script to create the core application framework. The rest of the chapter then walks through each directory that script created. I liked this high-level description because it's common for MVC frameworks to have many files in many different places and you don't often find a comprehensive overview in most documentation.

Even with tools for fast configuration and convenient interfaces, the reality is that there are still many decisions you need to make when creating even a fairly simple web application. And each decision offers plenty of wrong choices to an inexperienced user. "Catalyst," the book, does a good job of presenting the common best practice for decisions ranging from basic database setup to reusable code design.

These design decisions are presented in a quick matter-of-fact way without going into full discussions of every area. This was the right decision to make for a book helping you to get running fast. If you're looking for more in-depth disussion of different options for session handling, authentication/authorization, database design, or other web technologies, you'll need to look in books dedicated to those topics.

There is no question about the credentials of the author. Jonathan Rockway is a key member of the core Catalyst team and has been giving Catalyst presentations for years. This experience shows as the advice and best practices offered throughout the book are solid.

The first real sample application described is an address book. This is a good choice as it is something anyone can relate to and naturally fits a CRUD framework. It also builds nicely, starting from very simple features, like getting data in and out of your address book, to other typical features like external configuration files, sessions, and authentication and authorization. Many of the features demonstrated here could be easily re-implemented in any web application you might be building.

The book then transitions to a more complex sample application, a tool to track opinions on IRC. It can track people with multiple different nicks across multiple different channels. Once it has some data, the book shows how to build interfaces that can show various data on the positive and negative comments around various topics.

While the example did a good job of demonstrating Catalyst features, I was puzzled by the choice of IRC as the problem space. My impression is that IRC is very much still a tool used rarely outside technical communities. If the book hoped to reach a wider audience, some of whom may be new to programming, this example could be a stumbling block. For someone not familiar with IRC, I think it would be difficult to focus on the Catalyst code because they would be trying to wrap their head around what IRC is and exactly what the sample application was doing.

As with any techincal book, it contains a significant amount of raw code. Of course it needs to show you the code to demonstrate how to do things and describe what's going on. However, I found myself wondering if there were a different way to provide some of the code samples, perhaps as an appendix, at the end of the chapter, or as a download. For completeness, you want all of the code provided in the book, but I think people seldom type everything in from a book, so it seemed some sections could have been pared down.

As with any technical book, examples can become out of date after printing, and there are some cases here. Errata are posted on the Packt Publishing website and there is also a wiki hosted on the Catalyst website. I imagine it could be frustrating for a new user working through the early examples (in Chapter 3, for example) without referring to these resources.

Any book has it's share of typos that get past the editors, but I seemed to notice a few more than typical, especially toward the end of the book. I don't know that any of these would cause any serious issues in understanding, but they can be distracting.

Finally, if you are interested in some newer web development technologies like AJAX, REST, and RSS, the author has you covered. There is a chapter devoted to these technologies and additional supporting technologies outside the Catalyst framework to get you going.

As an introduction to Catalyst, and MVC web development, this book succeeds in getting you going and explaining all of the key features you need for web application development. However, some might find the cost a bit steep (list US $39.99, $35.99 on Amazon) for a fairly slim volume. My recommendation is if you know you are going to be doing development with Catalyst, "Catalyst" the book would probably be a useful reference and you'll find many of the examples reusable. If you are just dabbling with Catalyst, you can probably get the introduction you need from the online documentation available on the Catalyst website and the Catalyst framework documentation.
  • Vikus
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.p