Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

Catalyst is a Web development framework that should not need an introduction. Thanks to Catalyst you no longer have to look towards Ruby on Rails if you want to develop Web applications in a flexible, efficient and effective way.

Personally I've stayed away from writing Web applications because it involved a lot of repetition, didn't produce very reusable code and was overall quite boring. Catalyst has changed that for me. It is well designed, encourages reusable code, extendable - everyone likes to write plugins -, and leads to fast application development.

This is the first book on Catalyst. The book author, Jonathan Rockway, is one of the main developers on the Catalyst project, so he knows what he's talking about. He takes you through a series of step-by-step tutorials in which you learn about how to develop ever more ambitious Web applications.

First of all, you learn how to install and set up Catalyst. This is a relatively straightforward process. Catalyst's core concept of MVC (Model-View-Controller) is explained next, and afterwards you're already creating a bare-bones Catalyst application and generating dynamic web pages. By the end of chapter two you've already created a simple database, used it as a model and set up a controller to forward the data to a Template Toolkit-based view. All of this took me less than fifteen minutes to read, write, setup, run, test and sort-of understand.

The next chapter shows you how to build a more ambitious address book application with basic CRUD (create, retrieve, update, delete) functionality, again in a series of easy-to-understand steps. Then you add sessions, authentication and authorization to the address book application.

You also learn how to write your own model classes, how to effectively test your Web application and how to deploy it to your web server. None of this is particularly difficult. Along the way, the author also introduces us to DBIx::Class, a flexible object-relation mapper that is held in high regard within the Perl community.

Catalyst is also Web 2.0 buzzword-compliant. One chapter of the book shows you how to add a REST API, how to interact with AJAX for a more responsive user interface, and how to create an RSS feed for your application's data.

You need to know a fair bit about the underlying technologies such as Perl or the Template Toolkit already; this book is a guide for competent developers to get into the Catalyst state of mind. It does not babysit you through every last step, which, for the record, I think is a good thing.

It is a relatively thin book - based on the table of contents I've read online I would have expected a much heavier volume. But after working through the book, I'm impressed about how many topics are covered in an easy-to-understand format. Like Perl, Catalyst makes easy things easy, and hard things possible. A lot of interesting topics are only touched upon, though; again, you're expected to explore on your own, using Catalyst's own documentation, its tutorials, and the CPAN, where you will find loads of plugins to extend every aspect of Catalyst.

The layout of the book isn't overly inspiring, but it also doesn't get in your way.

To conclude, if you're interested in what Catalyst has to offer, you need to read this book. It contains more information, and in a lot more coherent form, than can be found in Catalyst's own documentation.

Catalyst - Accelerating Perl Web Application Development
Jonathan Rockway
Packt Publishing
ISBN 978-1-847190-95-6
$ 39.99, GBP 24.99

In reply to Catalyst - Accelerating Perl Web Application Development by hanekomu

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others perusing the Monastery: (8)
    As of 2020-08-07 12:53 GMT
    Find Nodes?
      Voting Booth?
      Which rocket would you take to Mars?

      Results (45 votes). Check out past polls.