Free Sample
+ Collection


Jonathan Rockway

Accelerating Perl Web Application Development
RRP $23.99
RRP $39.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781847190956
Paperback200 pages

About This Book


  • Understand the Catalyst Framework and MVC architecture
  • Build and test a site with Catalyst
  • Detailed walkthroughs to create sample applications
  • Extend Catalyst through plug-ins

Who This Book Is For

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.

Table of Contents

Chapter 1: Introduction to Catalyst
Catalyst Application Architecture
Installing Catalyst
Where to go for Help?
Chapter 2: Creating a Catalyst Application
Creating the Application Skeleton
MyApp Directory Structure
Adding a View
Adding a Database
Chapter 3: Building a Real Application
Environment Setup
Database Design
Understanding the Interface to the Database
Viewing People
Basic CRUD
Finishing Up
Chapter 4: Expanding the Application
Configuration Files
Using Components from Outside Catalyst
Searching and Paging
Authentication and Authorization
Chapter 5: Building a More Advanced Application
The Application
Creating the Database
Extracting the Data
Putting the Data on the Web
Chapter 6: Building Your Own Model
Extending a DBIx::Class Model
Creating a Database Model from Scratch
Implementing a Filesystem Model
Chapter 7: Hot Web Topics
Chapter 8: Testing
Testing ChatStat
Testing the Address Book
Chapter 9: Deployment
Configuring a Web Server

What You Will Learn

  • Installing and setting up Catalyst
  • How MVC works in Catalyst, explained with a simple example
  • Using the Template toolkit to generate HTML output
  • Designing a database schema and accessing a SQLite database
  • Creating a CRUD interface to a database
  • Using FormBuilder to define auto-generating and self-validating forms
  • Creating easy-to-maintain configuration files
  • Importing CVS files into a database
  • Paginating search results
  • Using the session plug-in to add sessions to an application
  • Authentication and authorization, explored by implementing page-level and record-level control
  • Building an editable web interface
  • Features of DBIC for easy handling of data
  • Interfacing to your data:
  • Mixing a procedural interface with a relational DBIx::Class interface
  • Writing a database interface without DBIx::Class
  • Building a custom Model without using any database
  • Adding a REST API to allow other applications to access your application
  • Adding AJAX interactivity to your application
  • Incorporating RSS feeds in your application
  • Automated testing and the "Test-Driven Development" methodology, discussed in depth
  • Techniques to test your Catalyst application easily
  • Writing tests for applications developed in this book with Mechanize and Selenium
  • Packaging your application:
  • Manage dependencies and create packages easily using Makefile.PL
  • Create a unique configuration for each environment
  • How to set up for a variety of web servers
  • How to make your application a self-contained file (PAR)

In Detail

Many web applications are implemented in a way that makes developing them painful and repetitive. Catalyst is an open-source Perl-based Model-View-Controller framework that aims to solve this problem by reorganizing your web application to design and implement it in a natural, maintainable, and testable manner, making web development fun, fast, and rewarding.

Everything that your web application needs to do is only written once; you connect to the database in one place, have configuration in one place, etc. Then, you just write actions for each URL that your application needs, without worrying about the database connections or HTML to produce. Catalyst will handle the details so you can worry about writing your application.

Catalyst is designed to be reliable. There are hundreds of production applications and thousands of users. The code is well-tested, and new releases almost always maintain compatibility with applications written for older versions. You don't have to worry about Catalyst breaking your application and slowing down your development. It just works.

Most importantly, Catalyst has a thriving community. You can ask a question on the IRC channel and get a response at almost any time of the day.
This book embodies Catalyst's philosophies of Do It Yourself and Don't Repeat Yourself.


Read More