超高速WebフレームワークPhoenix でHello World 的なことを Mac OS X で行う
Phoenix Framework とは
- Elixir でコードを記述する。
Erlangは耐障害性と高いスケーラビリティを持つ関数型プログラミング言語だ。
そして速い。マイクロ秒単位(1/1000秒単位)でレスポンスを返したりする。
みたいのが特徴。
具体的には、Erlang は電話網の50%を動かしていたり、WhatsApp で採用されていたり耐障害性と高いスケーラビリティの面で実証済み。
前提
Mac OS X で作業をします。
公式ドキュメントを参考にインストール作業を行います。
必要なアプリケーションをインストールする
Phoenix
とは直接関係のないアプリケーション
Mac で開発環境を構築する際にほぼ必須なアプリケーションです。
Homebrew
まず、ターミナルで以下のコマンドを実行する。
xcode-select --install
xcode-select
がインストールされていなければ、AppStoreが立ち上がるのでxcode
をインストールする。
上記が完了したら、以下のコマンドをTerminalで実行しインストールする。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
実行環境を構築するのに必要なアプリケーション
node.js (>= 0.12.0)
node.js は バージョン管理を考えるとnodebrewを利用するのがいいので以下のサイトを参考にしてインストールする。
node.jsのversionを管理するためにnodebrewを利用する - Qiita
Phoenix
フレームワーク本体です。 後述します。
Elixir
Phoenixでアプリケーションを記述するRuby風味なシンタックスの関数型言語です。
$ brew update
$ brew install elixir
Hex
Elixir, Erlang 向けのパッケージ管理ツールです。 以下のコマンドでインストールする。
% mix local.hex
インストールしますかと聞かれるのでy + Enter
を入力するとこんなかんじになってインストール完了。
Are you sure you want to install archive https://s3.amazonaws.com/s3.hex.pm/installs/1.0.0/hex.ez? [Yn] y 2015-08-10 18:12:51 URL:https://s3.amazonaws.com/s3.hex.pm/installs/1.0.0/hex.ez [269416/269416] -> "/Users/user/.mix/archives/hex.ez" [1] * creating /Users/user/.mix/archives/hex.ez
PostgreSQL
デフォルトのDBです。 PostgreSQL はHomebrewでインストールする。
$ brew install postgresql
とりあえず、アプリを起動させるだけならPostgreSQL
は飛ばせます。
特に作業しなくてもインストールされているもの
Erlang
Elixir インストールした際に一緒についてくるので特に作業しなくていい。
Plug, Cowboy, and Ecto
Phoenixの中身。ORマッパーとかそんなの。mix deps.get
でインストールする。
アプリケーション作製
Phoenix(phoenixframework)をインストールする
適当なディレクトリで以下のコマンドを実行する。
% mix archive.install https://github.com/phoenixframework/phoenix/releases/download/v0.14.0/phoenix_new-0.14.0.ez
インストールしますかと聞かれるのでy + Enter
を入力するとこんなかんじになってインストール完了。
Are you sure you want to install archive https://github.com/phoenixframework/phoenix/releases/download/v0.14.0/phoenix_new-0.14.0.ez? [Yn] y * creating /Users/user/.mix/archives/phoenix_new-0.14.0.ez
mix はElixir のビルド用のコマンド。 *1
サンプルアプリケーションをつくる
以下のコマンドを実行する。
mix phoenix.new elixir-stuff/hello_phoenix
Phoenix application を起動する
以下のコマンドを実行する。
We are all set! Run your Phoenix application: $ cd elixir-stuff/hello_phoenix $ mix deps.get $ mix phoenix.server
ブラウザで動作確認する
IEx (Interactive Elixir)で起動したい方はこちら
You can also run it inside IEx (Interactive Elixir) as: $ iex -S mix phoenix.server
アプリケーションを終了するときは ctrl-c
を2回実行します。
以上、簡単ですね。
あと、このへんも参考にしました。
2015-08-10 わかりづらかったところなど大幅に書き換えました。