Scala PlayFramework でアプリケーション作ってみた。① 【環境構築編】
Scala に挑戦してみました。
Mojolicious でアプリケーションをつくってみた① - yujiro's blog
で作ったのと同じメモ帳アプリケーションをScalaとPlayframeworkを使い作ってみました。
結構時間かかりました。難しかった。
ソースコードは以下にあります。
一応、機能的には
- ログイン機能
- belongsTo, hasMany, manyToMany アソシエーション
- ページング
- Form(バリデーション有り)
などあるので、これを見れば一通りのことはできるんじゃないかと思います!
環境、バージョン
OS : Ubuntu14.04
言語 : Scala-2.11.11 (scalaenv)
Framework : PlayFramework 2.5
DB : MySQL 5.5
ORM : Skinny-ORM
エディタ : Vim
Scala, Playframework インストール手順
scalaenv導入
$ git clone git://github.com/mazgi/scalaenv.git ~/.scalaenv
他の言語にもよくあるバージョンを容易に切り替えられるやつです
パス通す
$ vi ~/.zshrc
export SCALA_ROOT="${HOME}/.scalaenv" if [ -d "${SCALA_ROOT}" ]; then export PATH=${SCALA_ROOT}/bin:$PATH eval "$(scalaenv init -)" fi
$ source ~/.zshrc
これはパスが通ればなんでもよいです。
インストールできるバージョンの確認
$ scalaenv install -l
2.11.11をインストール
$ scalaenv install scala-2.11.11
適用
$ scalaenv rehash
コマンド群を ~/.scalaenv/shims/
にいれて使えるようにする
2.11.11をシステムワイドに適用
$ scalaenv global scala-2.11.11
バージョン確認
$ scala -version
/home/vagrant/.scalaenv/versions/scala-2.11.11/bin/scala: line 23: java: command not found
と表示される。java を入れる必要がある。
java8をインストール
$ sudo add-apt-repository ppa:webupd8team/java
リポジトリ追加
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer
インストール
$ java -version
java version "1.8.0_144"
$ scala -version
Scala code runner version 2.11.11 -- Copyright 2002-2017, LAMP/EPFL
sbt のインストール
$ echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
$ sudo apt-get update
$ sudo apt-get install sbt
activator のインストール & パス通す
$ wget https://downloads.typesafe.com/typesafe-activator/1.3.7/typesafe-activator-1.3.7.zip
$ unzip typesafe-activator-1.3.7.zip
$ sudo mv activator-dist-1.3.7 /opt
$ sudo ln -s /opt/activator-dist-1.3.7/activator /usr/local/sbin/activator
プロジェクトの作成
$ cd /var/www/
どこでも大丈夫です。
$ activator new scala-play-sample play-scala
起動
$ activator run -Dhttp.address=192.168.33.60 -Dhttp.port=9007
続き
Scala PlayFramework でアプリケーション作ってみた。② 【Controller(View)編】 - yujiro's blog