Perl web framework
Tired of inflexible "out-of-the-box" solutions that don't do what you want, or do too much? - Catalyst lets you develop exactly what you need.
The Catalyst Web Framework is a comprehensive and flexible environment for quickly building high-functionality applications and is aimed at medium- to large-scale web projects. Catalyst has been designed with rapid development, scalability, extendability and maintenance in mind, including strong belief in backwards compatible deployment. Catalyst is based on the MVC (Model, View, Controller) design pattern, making components cleanly separated and easily interchangeable.
The model contains business logic and interaction with any database or other systems. View determines how data is rendered, if you want to use an HTML template, or output the data as JSON. Controllers should be lightweight and handle the interaction between user and the model(s) rendering the results with the required view.
Catalyst does not dictate which modules should be used for models and viewers, although the current standard practice is to use DBIx::Class for the database model and Template Toolkit for the view. It is easy to add your own, or use one of the many available models or views; creating JSON or RSS versions of your content only requires a different view on your data.
Session management, login and authorization, caching, internationalization and many more plugins are available should they be required. Catalyst is designed so that each project can be quickly customised for the specific needs of that project. This gives developers full control over the systems requirements, using standard components or swapping them out should a custom solution be required.
Based on Moose, the Perl 5 object system, Catalyst is easy to extend. Catalyst is able to run on many different web servers, including Apache's mod_perl, FastCGI and a standalone server for development, so you can deploy on or alongside your existing architecture.