Blog

Amon2の利点 〜 軽量フレームワークAmon2入門 (1) 〜

というわけで、私が中心となり開発を進めているウェブアプリケーションフレームワークであるところのAmon2に関する連載企画です。続くかどうかはわかりませんけど!
対象読者はウェブアプリケーションの開発の基礎知識はあり、Perlプログラミングを一通り理解していることを前提としています。

Amon2とは

Amon2は、ウェブアプリケーションフレームワークです。ウェブアプリケーションフレームワークというのは、ウェブアプリケーションを書くために楽をするためのライブラリと、それに関するツール一式のこととここでは定義しましょう。
そう、Amon2を使えば非常に楽に、高速に、ウェブアプリケーションを開発できてしまうのです。

なぜAmon2なのか

しかしウェブアプリケーションフレームワークとひとくちにいっても、Perlだけでも、数え切れないほどあります。そんな中でもAmon2を採用する理由があります。それは何でしょうか。

安定性

Amon2では基本的に非互換な変更が行われないことが保証されています。万一そういう変更が起きる場合には、Amon3というネースペースにいこうすることになっているので、安心して使うことができます。
また、作者の気まぐれでMooseをつかうように なったり、Perl5.10に依存したりといったドラスティックな変更が行われないことが保証されています。

PSGI/Plack依存

全面的にPSGI/Plackを採用しています。これにより、Amon2を利用して開発されたウェブアプリケーションは、CGI, FastCGI, mod_perl, stand alone server といった多彩なプラットフォームで動作させることが可能となっています。

XS非依存

Amon2はXSに依存していませんから、レンタルサーバーなどのコンパイラのりようが 困難な環境でも利用できます。(レンタルサーバーでの利用には同じ作者によるMENTAの方が設置が簡単なのでオススメですが)

CLIをサポート

ウェブアプリケーションと同じ感覚でコマンドラインのツールやcronスクリプトなどを開発できます!
せっかくウェブアプリケーションのためにコンテナクラスなどをかいたのに、CLIだとつかえない、なんてのはナンセンスだと思うのです。

継続的な開発

なんだかんだで一年半ほどかいはつが 続いています。たいしたもんだ。

大規模からワンファイルまで

SledgeやCatalystのような、コントローラークラスをいくつもつくるスタイルと、Sinatra, Dancerのようなワンファイルでのアプリケーション開発の両方をサポートしています。
ある程度大きくなったところで大規模用のスタイルにかえる、といったことも可能となっているのです。

この章のまとめ

Amon2の特徴などについて書いてみました。
今後もつづきをかいていく予定です。この辺を書いてほしいとか、この辺の使い方がさっぱりわからないとかそういうしつもんなどあれば、コメント欄に書いて頂ければと思います。