Amon2 (PSGI フレームワーク)
先日PSGIアプリケーションの基本を触ってみたので ( まずはperlbrew や cpanm と carton とか。 - keisyuのブログ ) Webアプリっぽいのを作ってみる。
今は素でアプリを作ることはほとんどなくどの言語でもフレームワークを使うことが多いのですが、私は重量級のフレームワークはどうしても好きになれないので
PerlのPSGIサポートの軽量級のフレームワークをと探してみたら Amon2 - Amon2 - Web application framework for Rapid web development がその一つだということで使ってみることにする。
インストールは cpanm を利用して以下のコマンド一発でOKです。
$ cpanm Amon2
インストールが終わったらAmon2のアプリケーションのひな形を作る amon2-setup.pl のコマンドがインストールされます。--flavor というオプションでひな形のタイプが選択できるようで標準で色々あるようです。
% amon2-setup.pl
Usage:
% amon2-setup.pl MyApp
--flavor=Basic basic flavour (default)
--flavor=Lite Amon2::Lite flavour (need to install)
--flavor=Minimum minimalistic flavour for benchmarking
--flavor=Standalone CPAN uploadable web application(EXPERIMENTAL)
--vc=Git setup the git repository (default)
--list-flavors (or -l) Shows the list of flavors installed
--help Show this helpで私は書いたようにあんまり色々自動で作られるのが好きじゃないので --flavor=Lite ってのをまず試してみようと思います。need to install とあるのでインストールしてセットップしてみる. Amon2::Setup::Flavor::Lite - search.cpan.org
$ cpanm Amon2::Setup::Flavor::Lite $ amon2-setup.pl --flavor=Lite MyApp $ find MyApp | grep -v .git MyApp MyApp/app.psgi MyApp/Makefile.PL MyApp/t MyApp/t/01_root.t MyApp/t/Util.pm MyApp/xt MyApp/xt/03_pod.t
作られた。(こんだけ...思ってた以上に少ない...).
とりあえず何も編集せずに起動してみる.

こんなシンプルな画面が立ち上がりました。なんとなく --flavor=Basic も試してみたくなったのでやってみると
$ carton install $ carton exec perl -Ilib script/myapp2-server
こういう手順で起動しなさいと出た。Basic だと色んなモジュールが必要だけど cpanfile 作っといたので各自 carton 環境下で動かしなさいということか.

起動した。何もしていないに等しいけど今日はここまで。