というわけで、私が中心となり開発を進めているウェブアプリケーションフレームワークであるところのAmon2に関する連載企画です。続くかどうかはわかりませんけど!
対象読者はウェブアプリケーションの開発の基礎知識はあり、Perlプログラミングを一通り理解していることを前提としています。
Amon2は、ウェブアプリケーションフレームワークです。ウェブアプリケーションフレームワークというのは、ウェブアプリケーションを書くために楽をするためのライブラリと、それに関するツール一式のこととここでは定義しましょう。
そう、Amon2を使えば非常に楽に、高速に、ウェブアプリケーションを開発できてしまうのです。
しかしウェブアプリケーションフレームワークとひとくちにいっても、Perlだけでも、数え切れないほどあります。そんな中でもAmon2を採用する理由があります。それは何でしょうか。
Amon2では基本的に非互換な変更が行われないことが保証されています。万一そういう変更が起きる場合には、Amon3というネースペースにいこうすることになっているので、安心して使うことができます。
また、作者の気まぐれでMooseをつかうように なったり、Perl5.10に依存したりといったドラスティックな変更が行われないことが保証されています。
全面的にPSGI/Plackを採用しています。これにより、Amon2を利用して開発されたウェブアプリケーションは、CGI, FastCGI, mod_perl, stand alone server といった多彩なプラットフォームで動作させることが可能となっています。
Amon2はXSに依存していませんから、レンタルサーバーなどのコンパイラのりようが 困難な環境でも利用できます。(レンタルサーバーでの利用には同じ作者によるMENTAの方が設置が簡単なのでオススメですが)
ウェブアプリケーションと同じ感覚でコマンドラインのツールやcronスクリプトなどを開発できます!
せっかくウェブアプリケーションのためにコンテナクラスなどをかいたのに、CLIだとつかえない、なんてのはナンセンスだと思うのです。
なんだかんだで一年半ほどかいはつが 続いています。たいしたもんだ。
SledgeやCatalystのような、コントローラークラスをいくつもつくるスタイルと、Sinatra, Dancerのようなワンファイルでのアプリケーション開発の両方をサポートしています。
ある程度大きくなったところで大規模用のスタイルにかえる、といったことも可能となっているのです。
Amon2の特徴などについて書いてみました。
今後もつづきをかいていく予定です。この辺を書いてほしいとか、この辺の使い方がさっぱりわからないとかそういうしつもんなどあれば、コメント欄に書いて頂ければと思います。