Elixir+Phoenixを試してみる
聞いたことあるけど全く触ってなかったElixir言語のウェブフレームワークPhoenixを試してみた。
ElixirはErlangVMの上で動作する言語でRubyのような書きやすいシンタックスを目指した言語らしい。
でもってログでレスポンスタイムをマイクロ秒で表示するくらい爆速らしい。
準備
Phoenixプロジェクトを作る
Railsを参考に作られているようなので基本的にはRailsと同じ流れ。
ちなみにデフォだとPostgreSQLを使うのでMySQLを使う場合はオプションで指定する。
$ mix phoenix.new project_name --database mysql
development環境のデータベースを変更する
これは僕の趣味。Railsでもいつもdevelopment環境はsqliteを使っている。
データベースを作り直すときにdbファイルを削除するだけでいいので楽。
変更するにはmix.exsを編集してsqliteのアダプタをインストールした後 config/dev.exs を編集する。
というわけでmix.exsを編集、
defp deps do [{:phoenix, "~> 1.1.4"}, {:mariaex, ">= 0.0.0"}, {:sqlite_ecto, "~> 1.1.0", only: :dev}, #これを追加 {:phoenix_ecto, "~> 2.0"}, {:phoenix_html, "~> 2.4"}, {:phoenix_live_reload, "~> 1.0", only: :dev}, {:gettext, "~> 0.9"}, {:cowboy, "~> 1.0"}] end
からのインストール、
$ mix deps.get
からの config/dev.exs を編集。
# Configure your database config :project, Project.Repo, adapter: Sqlite.Ecto, database: "priv/repo/dev.sqlite3"
DBマイグレーション
設定ファイルで出てきているEctoというのがRailsにおけるActiveRecord相当のものらしい。
$ mix ecto.create
とやることでデータベースが作られる。
Phoenixアプリを立ち上げてみる
$ mix phoenix.server
デフォルトでは4000番ポートで待ち受けている。
http://localhost:4000でアクセスするとウェルカムページが表示される。
gyazo.com
というわけで今回はここまで。
次はデータベースを使ってユーザページでも実装してみようかと思う。