Perl/Mojoliciousの変更点 - Masanoriのメモ帳

Perl/Mojoliciousの変更点

[Mojolicious|http://mojolicio.us/]は、perlの次世代Webフレームワーク(WAF)です。

同じくWAFとして有名なCatalystと同じ作者によって一から新しく開発されました。
Ruby on Railsやその他のWAFの流れを受けながら、WebSocketやプリフォークサーバなど、新しい技術とモダンPerl(今どきのperl)を活かして、Web開発が手軽に行えるように設計されています。

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

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

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

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

!!! インストール
CPANで一発です。
 $ cpan Mojolicious
参照: [Mojoliciousのインストール / Mojoliciousリファレンス - サンプルコードによるPerl入門|http://d.hatena.ne.jp/perlcodesample/20120417/1334837659]
!!! 日本語ドキュメント
* [Mojoliciousドキュメント 日本語訳|https://github.com/yuki-kimoto/mojolicious-guides-japanese/wiki]
* [Mojolicious リファレンス|http://d.hatena.ne.jp/perlcodesample/20110402/1305602329]
また、書籍では「[もっと自在にサーバを使い倒す 業務に役立つPerl|http://d.hatena.ne.jp/perlcodesample/20120326/1332759488]」という本が2012年に出版され、Mojoliciousの基本が扱われています。
!!! Morbo
Morbo(Mojolicious::Server::Morbo)は、Mojoliciousに含まれる開発用サーバ([参照|https://github.com/yuki-kimoto/mojolicious-guides-japanese/wiki/Mojo%3A%3AServer%3A%3AMorbo])。
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|https://github.com/yuki-kimoto/mojolicious-guides-japanese/wiki/Mojo%3A%3AServer%3A%3AHypnotoad])は、実運用のためのプリフォークサーバです。
ホットデプロイメントにも標準対応しています。
!!! CGIモード / リバースプロキシを介した動作など...
Mojoliciousで開発したWebアプリケーションは、CGIとして実行することもできます。

さらにその他にも、PSGI、Apacheやnginxなどの背後でリバースプロキシを通して扱ったり、
他のアプリケーションに埋め込んだり、CPANモジュール化することも可能です。
この点もしばりが無く、自由が効くところといえます。
参照: [Mojolicious::Guides::Cookbook|https://github.com/yuki-kimoto/mojolicious-guides-japanese/wiki/Mojolicious%3A%3AGuides%3A%3ACookbook]

----
{{category プログラミング,Perl,Linux,Windows,Mojolicious,nolink}}


メニュー


未整理

Linux

プログラミングx

Android

サービス

製品

執筆中


筆者のサイト


スポンサード リンク