Accelerating Perl Web Application Development
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.
What you will learn from 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
This book will guide you through the features of Catalyst using
real-world examples and systematic code snippets.
Who this book is written 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.
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
Creating a CRUD interface to a database
Using FormBuilder to define auto-generating and self-validating
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
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
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
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
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)