この項目では、ウェブアプリケーションフレームワークについて説明しています。AMD製GPUのドライバソフトウェアについては「AMD Catalyst」をご覧ください。
Catalyst
作者セバスチャン・リーデル
最新版5.90124 / 2019年1月18日 (5年前) (2019-01-18)
プログラミング
言語Perl
種別Webアプリケーションフレームワーク
ライセンスPALおよびGPL
公式サイト ⇒www.catalystframework.org
テンプレートを表示
Catalyst (かたりすと)は、Perlで書かれたオープンソースのウェブアプリケーションフレームワークで、Model View Controller (MVC)のアーキテクチャを持ち、実験的なウェブのパターンを数多く持っている。Ruby on Rails、 Maypole
、 Springといったフレームワークに強い影響を受けている。Catalystは、主に、Perlのライブラリやアプリケーションの公式配布元であるCPANを通じて配布される。 Catalystは、定義は一度のみ行われるべきとする"Don't Repeat Yourself" (DRY)原則に基づいている。 Catalystは、多くのモジュールのうちからひとつだけを使って、データベースからクラスを引っ張り出すことによって利用される。従って、データベース層に関するコードは必要とされない。しかし、何かに付け融通を効かせようとするなら、それもオプションで利用できる。Catalystのもうひとつの原則は、自在さである。 Catalystは、既にウェブアプリケーションを操作するために使われている既存のPerlモジュールの再利用を促す。 開発やテストのために、Catalystは、組み込みの簡易HTTPサーバがある。製品の利用についてはApacheか、FastCGI付きのlighttpd、 mod perl Catalystは、PerlのDBIがサポートするデータベースなら(つまりほぼ全て、CSVファイルでさえも)どれでも動作するが、関係データベース管理システム (RDBMS) が推奨されている。データベースアクセスは、モジュールのひとつを通し、全てのデータベースへのアクセスを自動的に操作することで、プログラマーやCatalystからは、完全に抽象化されている。もし必要なら、ダイレクトにSQLのクエリを利用することもできる。これは、異なるデータベース間でも移植性のある、データベースにおいて中立的なアプリケーションが利用でき、Catalystアプリケーション開発において、可能な限り、既存のデータベースのユーザビリティを保つことが出来ることを意味する。ただし、RDBMS間で機能が異なる場合には、フレームワーク単独では、完全に機能を保証できない。MySQL、PostgreSQL、SQLite、IBM DB2、Oracle、Microsoft SQL Serverといった複数のデータベースをサポートしている。(オブジェクト関係マッピング)
哲学
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など)。
Webサーバのサポート
データベースサポート
Catalystを使って作られたウェブサイト
⇒iusethis - 利用パターンを元にしたソフトウェアのサイト
⇒MightyV - BBCのTV-program listingを受賞した
Vox - ソーシャルブログプラットフォーム
EditGrid
ボケて - 写真で一言ボケることに特化したウェブサービス
Catalystを使って作られたオープンソースソフトウェア
Agave (software) (ブログ)
Angerwhale (ブログ) Trac Site
Devel::ebug (Perlのデバッガ) CPANのサイト
Handel (software) (commerce framework) ⇒サイト
Meios
MojoMojo (ウィキ)
Sosa (software)
Perlで記述された他のフレームワーク
Sledge - ライブドアによって開発されたフレームワーク
Mojolicious - Catalyst作者による次世代Webフレームワーク ⇒サイト
脚注^ CPANにおけるCatalystのモジュール
外部リンク
⇒プロジェクトホームページ
⇒Perl5とCatalystで作られている
⇒PerlNet上の ⇒Catalystの記事
CPANのCatalyst
⇒Planet Catalyst