Ark
むちゃくちゃよさげなフレームワークが登場。
Arkは,Perlで作られたWebアプリケーションフレームワーク(WAF)です。
Arkの特徴としては
などが挙げられます。
ついに出た!最新Perlフレームワーク「Ark」徹底解
現在は大規模アプリを開発することもないんですけど
ちょっとしたものは作りたいなーと思っていて。
PerlのWAF事情を調べるとCatalystがほぼ標準っぽかったので勉強がてら使いたかったんですけど
CGIでは無理っぽいし覚えることも多そうだし。
結局、軽量フレームワークのMENTAでちょこちょこ書いたりしてました。
そんな所でArkの登場。
Catalystも覚えたかったしCGIでも使えるしで、自分としては最高のWAFではないですか!
とりあえずさくらインターネットにインストール
こちらを参考にインストール。
$ wget http://cloud.github.com/downloads/typester/ark-perl/Ark-0.001000_001.tar.gz $ tar zxvf Ark-0.001000_001.tar.gz $ cd Ark-0.001000_001 $ cpan -t .
以下のように表示されたので、missingの部分を手動でインストールしてみた。
依存モジュールは結構多めですね。
[Core Features] - Test::More ...loaded. (0.86) - HTTP::Engine ...missing. (would need 0.001008) - Mouse ...missing. (would need 0.21) - Path::Class ...missing. (would need 0.16) - URI ...loaded. (1.37) - Text::SimpleTable ...missing. - Module::Pluggable::Object ...loaded. (3.6) - Data::Util ...missing. - Class::Data::Inheritable ...loaded. (0.08) - HTML::Entities ...loaded. (3.57) - Data::UUID ...missing. - Digest::SHA1 ...loaded. (2.11) - Devel::StackTrace ...missing. - Class::Method::Modifiers::Fast ...missing. - HTTP::Engine::Middleware ...missing. (would need 0.13) - MIME::Types ...loaded. (1.25) - MouseX::Types::Path::Class ...missing. - Module::Setup ...missing. - FindBin::libs ...missing. [Support MicroTemplate template engine] - Text::MicroTemplate ...missing.
(以下cpan上でインストール) install Path::Class install Text::SimpleTable force install Data::Util install Data::UUID install Devel::StackTrace install Class::Method::Modifiers::Fast install HTTP::Engine::Middleware install MouseX::Types::Path::Class install Module::Setup install FindBin::libs install Text::MicroTemplate
2回目ではDBIx::Classも入れろと言われたのですが、
うまくインストール出来なかったためとりあえず無視してArkインストール。
$ cpan -i .
うむ。うまくいった様子。
Hello toritori
こちらを参考にHello Worldに挑戦。
$ ark.pl newapp HelloWorld $ cd HelloWorld $ ark.pl server HTTP::Engine::Interface::ServerSimple : You can connect to your server at http://0.0.0.0:4423/ Ctrl+C (vi で表示する文言を「Hello toritoriに変更」) vi lib/HelloWorld/Controller/Root.pm $ ark.pl server HTTP::Engine::Interface::ServerSimple : You can connect to your server at http://0.0.0.0:4423/
ちなみにサンプルアプリの方は「404 Not Found」で動きませんでした…なぜだ
まあハロワができたので良しとしよう。
というわけで今後かなり期待できそうなArk。
軽量フレームワークと銘打っていますが、インストール作業などを考えると軽量と中量の間くらい?*1
ベンチマーク取ってないのでパフォーマンスはまだよくわかりません。
とりあえずはさくらサーバ上で公開したいアプリケーションがいくつかありますので
Arkで開発してみようかなー?
*1:MENTAはフォルダコピペでインストール出来てしまいますしね