TOPシステム開発> Catalystとは
まるごとPerl!
使ってわかるCatalyst

第1回:Catalystの導入
著者:アドウェイズ  加藤 敦   2006/9/7
1   2  次のページ
Catalystとは

   Catalystは、PerlのWebアプリケーションフレームワークです。同じPerlのWebアプリケーションフレームワーク、Maypoleの後継で、Ruby on RailsやStrutsにインスパイアされて作られたものです。

   MaypoleはデータベースのCRUD(Create、Read、Update、Delete)に焦点が当てられていましたが、Catalystはもっと汎用的なWebアプリケーションのために作られました。そして、Ruby on RailsやStruts の良いとこ取りをした、洗練されたWebアプリケーションフレームワークになっています。

Webアプリケーションに必要なもの

   Catalystを使うとWebアプリケーションに必要なものがほとんど全て手に入り、簡単かつスマートに開発できます。

Webサーバー
Catalystは、CGI、mod_perl、mod_perl2、lighttpd、FastCGI等々、さまざまな環境で動かすことができます。また開発用のWebサーバーも組み込まれています。
URIベースの振舞
最近のWebアプリケーションは、QUERY_STRINGやPOSTで渡されたパラメータではなく、URIでアプリケーションの振舞を決めるのが主流になっています。CatalystではURIベースで振舞を決めるための非常に柔軟なシステムがあります。
データ
Catalystには、データベースやデータベースフレームワーク(Class::DBI、DBIx::Class等)を扱うプラグインがあります。また、データベース以外のストレージも扱えます。
フォームの取り扱い
フォームのパラメータの操作や、妥当性チェックを行うプラグインがあります。
テンプレート
HTML::Template、Template-Toolkit、HTML::Masonなどのテンプレートモジュールを使えます。
ユーザー管理
セッションや認証を行うプラグインがあります。
開発支援
組み込みのロギング、スタックトレースを表示するデバッグスクリーン、簡単にテストを作ることのできる仕組み、ヘルパースクリプトなど、開発を助けるものがいろいろ揃っています。


MVCパターン

   MVC(Model-View-Contoroller)パターンは最近のWebアプリケーションでは標準的なパターンであり、Catalystもこのパターンを利用したフレームワークです。

   ビューはユーザーとのインターフェイスです。ビューで行われたユーザーの動作を、コントローラーが解釈し、モデルに変更を伝えたり、ビューの内容を変更したりします。アプリケーション全体の動作をこの3つのコンポーネントに分けることにより、柔軟性や保守性の高いアプリケーションを構築できます。


サンプルアプリケーションの概要

   この記事では、簡単なブックマークアプリケーションを作りながらCatalystを解説したいと思います(図1)。作成するのは、URLを入力してデータベースに記録するアプリケーションです。付随する情報として、タイトルとコメントを付けることができます。記録されたブックマークを編集、削除することもできます。簡単にブックマークできるように、URLだけ入力することで、タイトルを取得してデータベースに記録できる仕組みもAjaxで提供します。

作成するアプリケーション
図1:作成するアプリケーション

1   2  次のページ

株式会社アドウェイズ 加藤 敦
著者プロフィール
株式会社アドウェイズ   加藤 敦
アフィリエイトシステムやモバイルサイトの構築などを経て、現在、技術マネージャーとして新規サービスの設計、システムの標準化などに携わる。個人的にCPANモジュールの開発や、オープンソースのプロジェクトに参加している。


INDEX
第1回:Catalystの導入
Catalystとは
  Catalystのインストール