What makes Catalyst special? It's the way we develop it. Take a look. We tend to keep things small and simple. This gives us robustness and scalability - your Catalyst-based app also inherits those. No complicated object hierarchies - Keep It Simple, Stupid.

Why reinvent the wheel? When you write your app with Catalyst, you don't have to care much about session handling or authorization. You just use it. CPAN has a vast amount of power, which we bring to you. Don't Repeat Yourself.

If you don't like something in default setup, why not replace it? There Is More Than One Way To Do It. You can choose from a wealth of available models and views, drop in a bunch of plugins and create the setup that fits you best. Data storage? Would you like to use DBIx::Class? Class::DBI::Sweet? Or perhaps you already have a Class::DBI schema? How about presenting the data? Template Toolkit or Mason? HTML::Template, perhaps? And in case you want PNG or PDF output, you'll need just a few lines...

With available plugins, you can extend the functionality of Catalyst. If you want sessions, form validation or authentication, you can have any or all of them. Catalyst comes with its own lightweight test server for development. It will even restart itself when it detects your sources have changed, so you see results instantly!

Source: Catalyst