Mojolicious入門
Perl
›
Mojolicious
Perlの代表的フレームワークMojoliciousを使ったWeb開発の入門です。
use Mojolicious::Lite; get '/' => {text => 'Hello World!'}; app->start;
WindowsでもLinuxでもどんな環境でも動きますよ。「CGIで嫌な思いをしたなー」そう思っている方、今なら「Mojolicious」があります。
1. Mojoliciousの特徴
「Mojoliciousって小さなWebサイトくらいしか作れないのかな」そんな疑問があると思います。実際は、Mojoliciousは、小さなWebサイトから初めて、どんどん成長させていくことができます。
Mojoliciousは
- Webサイトを簡単にすばやく作成できる
- Webサイト作成に必要な機能の一式を提供
- 大規模なWebアプリケーション開発にも対応
という特徴を持っています。
Mojoliciousでは「Webサイト作成に必要な一式の機能」が提供されています。
「テンプレート機能」を使って、すばやくHTMLが書けます。「パラメーター」も簡単に取得で、「セッション」もデフォルトでサポートされています。「非同期I/O」に対応しているので、サービス開始後に高負荷になっても、対応できます。
作りたいWebサービスはありますか。効率的で保守性の高いWebアプリを作成するなら、Mojoliciousがぴったりです。
2. Mojolicious入門
ではさっそくMojoliciousのインストールから初めてみましょう。その後、実際にMojoliciousを動かしてみます。
2.2 Mojoliciousで「Hello World」と表示してみよう
一番簡単なHello WorldアプリケーションをMojoliciousで作ってみましょう。
use Mojolicious::Lite; get '/' => sub { my $self = shift; $self->render(text => 'Hello World'); }; app->start;
記述の説明や実行の仕方は一番小さなWebアプリケーションをご覧ください。
Mojolicious入門では「HTML」や「CSS」の知識は持っている前提で記事を書きます。もし最低限の「HTML」や「CSS」をまだ知らないという方は HTMLの基礎とCSSの基礎を参考にしてください。
2.3 インターネット上での公開
「Webサイトを作成したらすぐに公開したい!」こう考えてうずうずしますね。
もっとも簡単な方法として「さくらのレンタルサーバー・スタンダード」を使って、アプリケーションが公開できます。さっそく公開してみたいという方は、さくらのレンタルサーバー・スタンダードでアプリを公開するをご覧ください。まだ、公開せずに、先に進めたいという方は、後で読んでもよいです。
インターネットで自分が作成したサイトが動く喜びは格別です。ぜひチャレンジしてみてくださいね!
Webアプリケーションの基礎
Mojoliciousを使ったWebアプリケーションの基礎を解説します。
Mojoliciousリファレンス
Mojoliciousリファレンスでは、Mojolicious入門で紹介できなかった、さまざまなテクニックを紹介します。Mojoliciousは、非常にカスタマイズ性の高いフレームワークで、それをサポートする機能が豊富です。
Mojoliciousを使いこなせるようになれば、効率的にWebサイトやWebサービスを作れるようになります。機能の新しい発見もあるかもしれません。
インストール
- Mojoliciousのインストール - Windows, Mac OS X, Unix/LinuxでのMojoliciousのインストール
- Hello World!アプリケーション
ルート(Route)
コントローラー
タグヘルパー
セッション
プラグイン
Mojoliciousのプラグインの使い方とモジュールの紹介です。
- プラグインの名前空間を追加する
- Mojolicious::Plugin::AutoRoute - ルートを自動的に生成するためのMojoliciousプラグイン
- Mojolicious::Plugin::SQLiteViewerLite - SQLiteのテーブル情報をブラウザから見るためのプラグイン
- Mojolicious::Plugin::MySQLViewerLite - MySQLのテーブル情報をブラウザから見るためのプラグイン
デプロイ
- morbo - Mojoliciousの開発サーバー
- PSGIアプリをStarmanでデプロイする
- プロキシサーバ経由で接続する場合のURLの問題を解決する
- Apacheのmod_proxyを使った場合に"Service Temporarily Unavailable"エラーが出る場合の対処法
- hypnotoadコマンド
- hypnotoadが立ち上がらないときのチェック方法
- Test::Mojoで実行できない試験を行う
- Mojoliciousをサブディレクトリで運用する
- hypnotoadが正しく起動しているかどうかの確認
- rootユーザーからMojoliciousアプリケーションを管理する方法
- 特定のユーザー権限(あるいはグループ権限)でhypnotoadを実行する
- rootユーザーでいるときに、一般ユーザーにスイッチしてコマンドを実行する方法
パフォーマンス
hypnotoadプリフォークサーバー
その他
Mojoliciousサンプル
Mojoliciousを使ったサンプルを紹介しています。
- ひとことメッセージ掲示板 - かんたんな掲示板
- 画像掲示板 - かんたんな画像掲示板
- 検索アプリケーション - 簡単な検索アプリケーション
- 簡単なリアルタイム時計 - WebSocketを使ったリアルタイム時計
- 簡単なリアルタイムチャット - WebSocketを使ったリアルタイムチャット
- Portable BBS - ポータブルなWebアプリを作成するためのサンプル
- Gitweb Lite - Gitリポジトリビュアー。gitweb.cgiのMojoliciousへの移植。
Mojoliciousドキュメント
Mojoliciousの公式ドキュメントです。このドキュメントにはMojoliciousのすべての機能が記載されています。わからないときは、ここをいつでも参考にしましょう。