Perl Hackers Hub

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

この記事を読むのに必要な時間:およそ 1.5 分

本連載では第一線の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アプリケーションフレームワークとしてだけでなく,ポータビリティの高いユーティリティライブラリとしても活用できます。

注1)
Perl 5.20.0以降の場合です。Perl 5.10.1以降でも動作しますが,いくつかの依存モジュールがインストールされる場合があります。

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)こちら。>

著者プロフィール

hayajo(Hayato Imai)

新潟で働くエンジニア。

仕事ではPerlやGoによるアプリケーション開発やインフラ設計、構築、運用に携わる。

黒い画面が大好き。

コメント

コメントの記入