Perl Hackers Hub

第33回MojoliciousでかんたんWebアプリケーション開発(1)

本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはhayajoさんで、テーマはWebアプリケーションフレームワーク「Mojolicious」です。

本稿のサンプルコードは、WEB+DB PRESS Vol.87のサポートサイトから入手できます。

Mojoliciousとは

MojoliciousはCatalystの作者であるSebastian Riedel氏によって作成されたPerl製のWebアプリケーションフレームワークです。

2008年のリリースから現在に至るまでこまめなリリースが続けられており、本稿執筆時点(2015年5月)のバージョンは6.11です。

Mojoliciousは主に次のような特徴を持っています。

プロトタイピングから大規模開発まで対応

Mojoliciousはコンポーネントごとにファイル、ディレクトリ構造を作成するフレームワークのほかに、Mojolicious::Liteというプロトタイピングや小規模開発向けの、RubyのSinatraのようなマイクロWebフレームワークを用意しています。

そのためアプリケーションの規模によって複数の異なるフレームワークを使い分ける必要がなく、1つのフレームワークで幅広い開発に対応しています。

多数のデプロイをサポート

Mojoliciousアプリケーションは標準で組み込まれるWebサーバ機能のほかに、開発用、本番用のアプリケーションサーバが同梱されています。また、CGIやPSGIアプリケーション、リバースプロキシ配下での動作もサポートしています。

そのため手元の開発環境やクラウド、VPSVirtual Private Server⁠、レンタルサーバなど、さまざまな環境に合わせて柔軟に運用できます。

Perlの標準モジュールのみで実装

MojoliciousはPerlの標準モジュール以外に依存するモジュールはありません(注1⁠。外部モジュールをインストールする必要がないため、Mojolicious自身のインストールにつまずくことはほとんどありません。

また、HTTPクライアントやロガー、テンプレートエンジン、XML/HTMLパーサなど、開発を助ける多数のモジュールが提供されています。そのためWebアプリケーションフレームワークとしてだけでなく、ポータビリティの高いユーティリティライブラリとしても活用できます。

Welcome to the Mojolicuous!

それではさっそくMojoliciousを使ってWebアプリケーションを実行してみましょう。

Mojoliciousのインストール

MojoliciousはCPANモジュールとして提供されているので、cpanmコマンドで簡単にインストールできます。

$ cpanm Mojolicious

インストールが完了するとmojoコマンドが使用できます。mojo versionを実行してインストールされたMojoliciousのバージョンを確認してみましょう図1⁠。

図1 Mojoliciousのバージョンを確認する
$ mojo version
CORE
  Perl        (v5.20.2, linux)
  Mojolicious (6.11, Clinking Beer Mugs)

OPTIONAL
  EV 4.0+                 (n/a)
  IO::Socket::Socks 0.64+ (n/a)
  IO::Socket::SSL 1.94+   (n/a)
  Net::DNS::Native 0.15+  (n/a)

This version is up to date, have fun!

アプリケーションの生成

続いてアプリケーションをmojo generate lite_appで生成します図2⁠。コマンドの実行が完了するとカレントディレクトリにmyapp.plファイルが生成されます。

図2 アプリケーションを生成する

$ mkdir ~/mojo_welcome; cd ~/mojo_welcome
$ mojo generate lite_app
  [exist] /home/username/mojo_welcome
  [write] /home/username/mojo_welcome/myapp.pl
  [chmod] /home/username/mojo_welcome/myapp.pl 744

アプリケーションの実行

生成されたアプリケーションはいくつかの方法で実行できます。ここではMojoliciousに同梱されるmorboコマンドを使用してアプリケーションを実行してみます図3⁠。

図3 morboでアプリケーションを実行する

$ morbo myapp.pl
Server available at http://127.0.0.1:3000
Ctrl-Cで終了

図3を実行後、ブラウザでhttp://127.0.0.1:3000/にアクセスしてしてください。画面に「Welcome to the Mojolicious real-time web framework!」と表示されていれば成功です。

<続きの(2)こちら。>

おすすめ記事

記事・ニュース一覧