Perl/Mojolicious - Masanoriのメモ帳

Perl/Mojolicious


Mojoliciousは、perlの次世代Webフレームワーク(WAF)です。

同じくWAFとして有名なCatalystと同じ作者によって一から新しく開発されました。

Ruby on Railsや新しいWAFの流れを受けながら、WebSocketやプリフォークサーバなど、新しい技術と、モダンperl(今どきのperl)を活かして、Web開発が手軽に行えるように設計されています。
(さらなる開発も積極的に進んでおり、HTTP/2.0のサポートもまもなく行われる予定 (参照))

"昔、perlでCGI開発をしようとしたが挫折した"...という人にもおすすめできるかもしれません。
(CGI全盛期のそれよりもずっと新しく、手軽になっています。PHPやRubyを利用している人でも基本的に同じため、扱いやすいかと思います。)

MVCモデルベースでありながら、モデルレイヤーは不可知であり、しばりが少なく、
開発者が自由に、好きなperlのモジュールを組み合わせて活用できるようになっています。

Perlカテゴリ
Perlに関するページについてはCategory/Perlも御覧ください。

インストール

CPANで一発です。

$ cpan Mojolicious

参照: Mojoliciousのインストール / Mojoliciousリファレンス - サンプルコードによるPerl入門

日本語ドキュメント

また、書籍では「もっと自在にサーバを使い倒す 業務に役立つPerl」という本が2012年に出版され、Mojoliciousの基本が扱われています。

Morbo

Morbo(Mojolicious::Server::Morbo)は、Mojoliciousに含まれる開発用サーバ(参照)。
RubyでいうところのWEBrickなどに近いものと考えられます。

  Morboを単なる簡易サーバとして使う

perlなどは関係なしに、ローカル上でXMLHttpRequestなどを使った開発を行いたい場合・・・何かデーモンを動作させないといけないが、Apacheのようなデーモンは大げさだというときには、morboで手軽に代用できます。

次のようなスクリプトを配置する: (site/は目的のディレクトリ)
daemon.pl

#!/usr/bin/env perl
use Mojolicious::Lite;
push @{app->static->paths}, 'site/';
app->start('daemon');

これを実行すれば、localhost:3000/*** でアクセスが可能になる。

$ perl daemon.pl

Hypnotoad

Hypnotoad(Mojo::Server::Hypnotoad)は、実運用のためのプリフォークサーバです。
ホットデプロイメントにも標準対応しています。

CGIモード / リバースプロキシを介した動作など...

Mojoliciousで開発したWebアプリケーションは、CGIとして実行することもできます。

さらにその他にも、PSGI、Apacheやnginxなどの背後でリバースプロキシを通して扱ったり、
他のアプリケーションに埋め込んだり、CPANモジュール化することも可能です。
この点もしばりが無く、自由が効くところといえます。
参照: Mojolicious::Guides::Cookbook




スポンサード リンク



メニュー


未整理

Linux

プログラミングx

Android

サービス

製品

執筆中


筆者のサイト


スポンサード リンク