Catalyst (ソフトウェア)
Sledge - ライブドアによって開発されたフレームワーク
Mojolicious - Catalyst作者による次世代Webフレームワーク サイト
Catalystは、定義は一度のみ行われるべきとする"Don't Repeat Yourself" (DRY)原則に基づいている。
Catalystは、多くのモジュールのうちからひとつだけを使って、データベースからクラスを引っ張り出すことによって利用される。従って、データベース層に関するコードは必要とされない。しかし、何かに付け融通を効かせようとするなら、それもオプションで利用できる。Catalystのもうひとつの原則は、自在さである。
Catalystは、既にウェブアプリケーションを操作するために使われている既存のPerlモジュールの再利用を促す。
Model部分は、DBIx::Class、Plucene、Net::LDAP、またはほかのモデルクラスを通じて操作する。
View部分は、Template Toolkit、Mason、またはHTML::Templateによって主に操作される。
Controllerは、もちろん個々のアプリケーションの作者によって書かれる。Controller機能の大部分は、Catalystのプラグインのうちのひとつに委ねることが出来る(Catalyst::Plugin::FormValidator、 Catalyst::Plugin::Prototype、 Catalyst::Plugin::Account::AutoDiscoveryなど)。
Catalystには、多くのプラグインがある。例えば、AjaxやRIAのためのJavaScriptの生成には、Catalyst::Plugin::Prototypeモジュールが使われる(prototypeはAjaxフレームワークである)。
開発やテストのために、Catalystは、組み込みの簡易HTTPサーバがある。製品の利用についてはApacheか、FastCGI付きのlighttpd、 mod perlサポートが推奨されるが、CGIやFastCGIをサポートしたWebサーバなら動作する。Apache上では、mod_perlでの利用が、相当のパフォーマンスの助けになるが、複数のアプリケーションでmod_perlを共有することで不安定になるため、問題もある。