Start reading The Definitive Guide to Catalyst: Writing Extensible, Sca... on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device

 
 
 

Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

The Definitive Guide to Catalyst: Writing Extensible, Scalable and Maintainable Perl-Based Web Applications (Expert's Voice in Web Development)
 
 

The Definitive Guide to Catalyst: Writing Extensible, Scalable and Maintainable Perl-Based Web Applications (Expert's Voice in Web Development) [Kindle Edition]

Kieren Diment , Matt Trout
3.0 out of 5 stars  See all reviews (3 customer reviews)

Print List Price: £43.50
Kindle Price: £32.54 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £10.96 (25%)
* Unlike print books, digital books are subject to VAT.

Free Kindle Reading App Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.

To get the free app, enter your e-mail address or mobile phone number.

Formats

Amazon Price New from Used from
Kindle Edition £32.54  
Paperback £39.49  
Kindle Daily Deal
Kindle Daily Deal: Up to 70% off
Each day we unveil a new book deal at a specially discounted price--for that day only. Learn more about the Kindle Daily Deal or sign up for the Kindle Daily Deal Newsletter to receive free e-mail notifications about each day's deal.


Product Description

Product Description

Learn to build web applications with Catalyst, the popular open source web framework based on the Perl programming language. The Definitive Guide to Catalyst: Writing Extendable, Scalable, and Maintainable Perl–Based Web Applications is a definitive guide to Catalyst version 5.8, which will be released in 2009. This book contains

  • Training materials for new and experience programmers.
  • Worked examples and cookbook–style recipes of common web application programming tasks
  • Fundamentals of web application design and best–practice application style

What you’ll learn

  • Write web applications with Catalyst and Perl.
  • Design for extendability and code reuse.
  • Understand deployment options for high– and low–traffic sites.
  • Use DBIx::Class, Moose, and Template Toolkit.
  • Understand the Catalyst dispatcher and request cycle.
  • Deal with common web programming requirements: authentication and authorization, web services, sending e–mail, serving streaming media.

Who is this book for?

The primary audience for this book is existing Perl programmers who want more information on writing robust maintainable and extendable web applications. This group is comprised of four subgroups:

  • Experienced perl programmers wanting to update their web programming skills (for example, CGI.pm, mod_perl, and Mason programmers)
  • Intermediate/Late beginner programmers wanting to learn rapid, extendable, maintainable web programming techniques in Perl
  • System administrators and other non–web users of Perl (e.g., bioinformatics workers) who want to learn modern Perl web development techniques
  • Existing catalyst programmers who want to learn about best practices for catalyst development

This book is also for programmers who want to understand web application design and development more thoroughly.

About the Author

Kieren Diment is a social researcher in the School of Management and Marketing, University of Wollongong, Australia, where he uses Catalyst for the collection analysis and presentation of research data. He has taken the lead in a significant portion of the Catalyst documentation including the Catalyst Advent Calendar in 2006 and 2007. His focus has been on ensuring a culture of documentation by example in the project, and ensuring that instructional documentation points to working example code wherever possible.

Product details

  • Format: Kindle Edition
  • File Size: 6276 KB
  • Print Length: 362 pages
  • Publisher: Apress; 1 edition (9 July 2009)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • ASIN: B003BXRO2A
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Bestsellers Rank: #590,587 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?


More About the Author

Discover books, learn about writers, and more.

Customer Reviews

3.0 out of 5 stars
3.0 out of 5 stars
Most Helpful Customer Reviews
18 of 19 people found the following review helpful
5.0 out of 5 stars Definitive Guide to Modern Perl Development 12 Sep 2009
Format:Paperback
Catalyst is one of the most interesting projects to come out of the Perl community in the last few years. Originating as a fork of the Maypole web framework, Catalyst has grown into the de facto standard for building web application using Perl. Its power and flexibility make it a great choice for many web-based projects.

But often great power and flexibility goes hand in hand with complexity. I've used Catalyst in simple ways on a couple of projects but I had always suspected that I wasn't getting everything that I could out of the software. What I really needed was a good book that explained the best way to get the most out of Catalyst. With this book I think I've got what I was looking for. The book is written by two core members of the Catalyst team. They obviously know exactly what they are talking about and lead the reader confidently through the complexities of Catalyst.

Catalyst, like other well-known web frameworks like Django or Ruby on Rails, uses the Model-View-Controller (MVC) pattern. This book doesn't assume that you are already familiar with this pattern and chapter 1 explains the underlying concepts in some detail. It also takes time to compare the Catalyst way of doing things with CGI applications and to compare Catalyst itself with other Perl frameworks like CGI::Application and Jifty.

Chapter 2 gets you started by discussing how to install Catalyst. This can be difficult as Catalyst requires a large number of other Perl libraries to be installed, and this section explains the easiest way to do with by using Perl's built-in features. This chapter also contains an introduction to Object Oriented programming in Perl using Moose.
Read more ›
Comment | 
Was this review helpful to you?
3.0 out of 5 stars Correct 29 Nov 2010
By Peco
Format:Paperback
I think it is the right book if you already know very well what Catalyst is and if it fits your needs.
If you want to use it to discover Catalyst and analyse the engine. I'd propose another solutions, cheaper and faster. Just the web.
Comment | 
Was this review helpful to you?
1 of 2 people found the following review helpful
Format:Paperback|Verified Purchase
Lots of errors in book, not great for learning Catalyst. It is a hands on work by example book, so not great if the examples dosn't work. On a positive note it will make you a debugging expert.
Looked like an updated variant of "Catalyst Accelerating Perl Web Application Development", but had so many errors, so I went back to the original.
Pity
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 3.7 out of 5 stars  11 reviews
17 of 18 people found the following review helpful
5.0 out of 5 stars Definitive Guide to Modern Perl Development 12 Sep 2009
By David Cross - Published on Amazon.com
Format:Paperback
Catalyst is one of the most interesting projects to come out of the Perl community in the last few years. Originating as a fork of the Maypole web framework, Catalyst has grown into the de facto standard for building web application using Perl. Its power and flexibility make it a great choice for many web-based projects.

But often great power and flexibility goes hand in hand with complexity. I've used Catalyst in simple ways on a couple of projects but I had always suspected that I wasn't getting everything that I could out of the software. What I really needed was a good book that explained the best way to get the most out of Catalyst. With this book I think I've got what I was looking for. The book is written by two core members of the Catalyst team. They obviously know exactly what they are talking about and lead the reader confidently through the complexities of Catalyst.

Catalyst, like other well-known web frameworks like Django or Ruby on Rails, uses the Model-View-Controller (MVC) pattern. This book doesn't assume that you are already familiar with this pattern and chapter 1 explains the underlying concepts in some detail. It also takes time to compare the Catalyst way of doing things with CGI applications and to compare Catalyst itself with other Perl frameworks like CGI::Application and Jifty.

Chapter 2 gets you started by discussing how to install Catalyst. This can be difficult as Catalyst requires a large number of other Perl libraries to be installed, and this section explains the easiest way to do with by using Perl's built-in features. This chapter also contains an introduction to Object Oriented programming in Perl using Moose. This is indicative of the authors' dedication to promoting modern Perl best practices and it's a topic I shall return to later.

Chapter 3 moves on to writing a simple application in Catalyst. Once again the authors' interest in best practices is evident as the application is not only written using Moose, but also has a comprehensive test suite. The application built in this chapter is pretty simple and some corners are cut in order to get something written as quickly as possible. These shortcomings are addressed at some length in chapter 4 where the application is rewritten in order to make it easier to maintain and extend.

Having written an application using Catalyst's built-in development web server, you will next need to deploy it. Chapter 5 takes a detailed look at your options for deploying Catalyst applications on a range of popular web servers.

The next two chapters look at two important parts of the Catalyst framework. Chapter 6 looks at database models, concentrating on the use of DBIx::Class - the most popular database abstraction layer used with Catalyst (and, indeed, with Perl itself). Chapter 7 looks at Catalyst's dispatch model - how a Catalyst application decides which of its method need to be called to respond to a given request. In earlier chapters I felt that some of the details of the dispatch model had been rather skimmed over, but this chapter more than makes up for that.

Chapter 8 looks at another vital part of modern web applications - that of authentication and authorisation. Catalyst has a number of plugins which makes these activities as easy as I have seen in any web framework. Chapter 9 looks at web services - both how to consume external services in your application and how to make a web service API available to users of your application. The latter becomes ridiculously easy with Catalyst.

If there is something that you don't think that Catalyst can do for you, then you'll find Chapter 10 useful as it examines a number of ways to extend Catalyst's behaviour. There are already dozens of add-ons and plugins available for Catalyst, but this chapter gives clear instructions on how to add to this collection.

Chapter 11 is a useful cookbook of recipes that will help you be more efficient in your use of Catalyst. Some of them solve common problems that you'll come across when writing applications but another, more interesting, section talks about ways to just become a more efficient developer. Many of these (for example, using Perl::Tidy and Perl::Critic) are general development techniques that aren't specific to Catalyst. Finally, chapter 13 looks at Reaction, which is a higher level framework which is based on Catalyst.

One of the problems with writing books about a project like Catalyst is that in the early days of a project, things can change very quickly. Sometimes so quickly that a book is out of date before it is published. I think that Catalyst has now settled down from the intense development cycles of the last few years, so this book will be relevant to Catalyst users for quite some time.

I'm convinced that Catalyst will be a useful tool to add to my collection and that this book will be very useful while I'm getting myself up to speed with writing applications with Catalyst. It's also very likely to be useful as a reference long after I'm familiar with how Catalyst works. If you're looking at writing a web application and are looking for a framework to use then this book should convince you to add Catalyst to the list of possibilities that you consider.

If you're a Catalyst user or a potential Catalyst user then you don't really need me to tell me that this book will be well worth buying. But there's another group of people who I would highly recommend this book to - and that's everyone who is currently programming in Perl, even if you never go near web developement or Catalyst. The reason for this seemeingly bizarre recommendation is easy to explain. Perl has been changing a lot over the last five years. The basic syntax remains (mostly) the same, but a number of new tools have been introduced that every Perl programmers should be looking at. Perl books don't get published as frequently as they used to and this is (as far as I know) the only book which emphasises new Perl tools like Moose and DBIx::Class. There is a whole new Perl movement out there called Modern (or Enlightened) Perl and this book is the best introduction to this movement currently in print.

The application development methods discussed by the authors of this book are the ones which will define good Perl development practice in the coming years. If you have any interest in how you should be developing Perl applications then you should be buying this book.
25 of 29 people found the following review helpful
2.0 out of 5 stars Incremental to the POD documentation, but disappointing. 12 Oct 2009
By Fake Name - Published on Amazon.com
Format:Paperback|Verified Purchase
I've used Perl for about ten years, and have experience with all of the "pre-Catalyst" frameworks and helpers (from CGI.pm to CGI::Application to dalliances with writing my own and trying Jifty). I've also used Rails and read several books on it (most of which are disappointments).

Unfortunately, I found this guide a disappointment as well. Most of the book seems to be structured around a few "examples," the largest of which is a translation app from English into "Lolcat." The problem with such an app as an example is that it could readily be done in a dead-simple, several-line CGI script (hell, even a one-liner could probably do it), so it requires a certain suspension of disbelief that one should be using stashes, chained dispatch methods, templates, and the like. Why not a normal CRUD type app as an example? Boring, yes, but to-the-point and more likely to be illustrative of the tools and their best applications.

The conversational "flow" of the book is distracting, as well. I understand that a more tabular or outlined form for making specific information easier to find could render it hard to read "straight through" as a book. But the sheer volume of information, and diversity of scenarios, make it unlikely that anyone will read it straight through and make equal use of all parts. Far better to organize the content more rigorously by function -- for example, the best and best-structured chapter by far is the chapter on dispatch (it gets to borrow for its prose structure from the flow chart on page 168. Less in-depth meanderings into such adjuncts as DBIx::Class and Moose, but more on how (if at all) such outside modules must interface / play nice with the Catalyst core. A chapter on errors. A chapter on logging. A chapter on templating.

The index is a mess and lazily put together. Under "log", only one entry: "Logging, in Catalyst, 7." (Are you serious? who wrote that index entry? Logging, comma, IN CATALYST?!? SERIOUSLY??) For "error:" "error handling code, changing to output errors to the log, 104-105." Nothing for "exception" (fair enough, as Perl properly has none), but under Perl's equivalent, "die:" "die, using for error handling, 156." WTF? Finding these three sections shouldn't be an Easter-egg hunt. WTF would be wrong with:

error
using "die" ... 156
logging ... 104-105
see also *log*

log ... 7
errors ... 104-105

I'm rooting for Matt & co., and I'm a fan of Catalyst. But this book needs a reworking for its next edition, and it needs an editor (the typography, too, is underwhelming). It's not that the team that wrote this isn't smart enough, or that they don't know the subject well enough. It's merely that they need to structure, structure, structure, and clarify, clarify, clarify. Looking forward to second edition, guys.
11 of 11 people found the following review helpful
5.0 out of 5 stars Catalyst - Now with more awesome! 22 July 2009
By Devin J. Austin - Published on Amazon.com
Format:Paperback
I'm the maintainer and refactor-er of the Catalyst::Helper namespace. That said, I should know a great deal about Catalyst. With THAT said, after even my first skim of this book, I picked up some great tips that I had not thought of or stumbled upon before. The collaboration between the authors and the attitude of "no less than excellent" each one of them has led to this being an extremely in depth, informative, and must-have resource for novice, experienced and non-Catalyst developers alike. Not only will you learn how to use the premier Perl web framework, but you will improve your Perl hacking skills as well.

From your first line of Catalyst, to deployment, to maintenance, you will learn how to create Catalyst applications the right way, the scalable way, and the easy way.

Kudos to each and everyone one of the authors, and the Catalyst community for making this such a great book.
6 of 6 people found the following review helpful
5.0 out of 5 stars Finally a best-practices book for one of the best MVC frameworks out there! 11 Aug 2009
By Tobias Kremer - Published on Amazon.com
Format:Paperback
After the somewhat disappointing first book on Catalyst by J. Rockway, this one really covers all important aspects of one of the best MVC frameworks that are currently available (not only in the Perl world). And more importantly, it succeeds at recommending best-practices for common tasks faced during web development making TIMTOWTDI a lot less scary. Whether you're beginning to learn Catalyst, are already using Catalyst and want to learn some proven solutions to common problems or are just looking for a concise reference, this book will not disappoint.
5 of 5 people found the following review helpful
4.0 out of 5 stars Informative & Substantial 27 Aug 2009
By Matsch Systems - Published on Amazon.com
Format:Paperback
This book is probably a bit over my head at this point, as I have only written 100 or so scripts over the past year and a half, but it has proven to be a very informative introduction to web application programming with Catalyst. Of particular interest to me was the philosophy behind Catalyst. I felt the book did an outstanding job of not only telling me why Catalyst is a great tool, but also showing me why. I've also been impressed by the consistency in various messages concerning the use of Catalyst: There is a learning curve, it is not an 'out of the box' solution or panacea for web development. As I've heard Mr. Trout say on several occasions, "RTFM"! It is extremely informative as well. I wonder if the Perl Mongers will embrace this tool???
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Look for similar items by category