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