Dancer – 直感的、最小限の構文、表現豊かな構文を持つWebアプリケーションフレームワーク
DancerはPerlのWebフレームワークです。既にご存知の方も多いと思いますが、紹介します。DancerはコンパクトなWebフレームワークで、簡素なコーディングによりアプリケーションを構築できます。
ポイントとして、モジュールへの依存関係が少ないのが挙げられ、インストールや実行段階の煩わしさが軽減されます。依存するモジュールのバージョンが変わることで、再度アプリケーションを作り直したり、設計し直しといったことが多々ありがちですが、このようなリスクを少なくすることが可能です。
使ってみて感じるポイントとしては設定ファイル config.yml のコメント部から、利用者への気遣いが伺えます。開発者のみならず、気軽にWebアプリケーションを作成しようとしているユーザーに対して、敷居を低くしようとしているのがいい感じです。
主な特徴について
次の3点が主な特徴となります。
1) 直感的で、最小限の構文でありながら、表現豊かな構文を持ちます。
チュートリアルにあるサンプルコードを示します。関数やメソッドを使うことなく、メッセージをいきなり記述できるところが、他のフレームワークと異なり面白いと点です。直感的と言える点のひとつです。
#!/usr/bin/perl
use Dancer;
get '/' => sub {
"Hello There!"
};
get '/hello/:name' => sub {
"Hey ".params->{name}.", how are you?";
};
post '/new' => sub {
"creating new entry: ".params->{name};
};
Dancer->dance;
2) PSGIサポート
3)
モジュールへの依存関係が少ないです。バージョン1.3では次の3つだけです。
HTTP::Server::Simple::PSGI
HTTP::Body
Exception::Class
Dancerのインストール
公式サイトでは cpanm を利用するよう勧めています。perl -MCPAN -e shell によるインストールを行いましたが問題なく動作します。
テンプレート・エンジン、その選択肢は豊富
以下のテンプレート・エンジンを利用できます。
- Template Toolkit
- Template::Flute
- HTML::Template
- Template::Tiny
- Mason
- Template::Alloy
- HTML::CTPP2
- Tenjin
- Text::Haml
- Text::Caml
- Mojo::Template
- Template::Declare
テンプレート・エンジンの変更は、config.yml でできます。設定ファイルは拡張子から分かる通り、YAML形式の定義ファイルとなっています。テンプレート・エンジンのデフォルト値は simple となっています。テンプレート・エンジンを Template Toolkit に変更する場合のサンプルがコメントアウトされています。
# template engine
# simple: default and very basic template engine
# template_toolkit: TT
template: "simple"
# template: "template_toolkit"
# engines:
# template_toolkit:
# start_tag: '[%'
# end_tag: '%]'
活動
Dancerにはカンファレンスがあり、そのプログラムの中で幾つかのトレーニングが用意されています。
Perl::Dancer Conference 2014
http://act.perl.dance/eic2014/
DancerはPerl製、GPLとArtistic Licenseのオープンソース・ソフトウェアです。
Dancer - Perl Web Framework for easy and fun webapp development PerlDancer/Dancer