こんにちわ、でらぽんです!!
GWにゴルフ練習とバッティングセンターにより背中を痛めました。
ストレッチはしっかりやりましょう。やっと治ってきました。
以前の記事でも触れていましたがWebアプリケーションの書き換えを検討しており、色々な言語やフレームワークを検討しています。
また、これも以前紹介した記事になりますが、GitBucketがScalaで組まれており、少し触ったりした経緯で興味がありました。
今回は、Scala & PlayFramework 開発環境の構築と関連ツールを少し触ってみようと思います。
インストール手順は先週公開された最新版(2.4)で実行しましたが、ドキュメントはまだ日本語化されていなく、2.3と2.4の情報が混在した記事になっています^^;
tech.sanwasystem.com tech.sanwasystem.com
環境
- Windows7 Pro
- PlayFramework 2.4
- activator-launch-1.2.2
- 事前準備として
java
コマンドとjavac
コマンドが実行できる環境にしておくこと
PlayFrameworkのひな型作成
PlayFrameworkの開発環境構築は色々な方法があるようですが、今回はActivatorを使った方法で構築をします。 Activatorというのは Typeasafe社が提供する Scala・Java用の開発環境の総合ツールです。Slick(DBラッパー)やSBT(ビルドツール)などのScala・Javaでよく使われるツールもTypesafe社が開発しています。
Activatorのダウンロード
まず、PlayFrameworkのサイトから、Activatorのダウンロードを行います。
- ダウンロードサイト
Download Play 2.4.0"Damiya"
というボタンを押し、typesafe-activator-1.2.2-minimal.zip
をダウンロードします。ダウンロードが完了したら解凍を行い、プロジェクトを作成するディレクトリに配置します。今回は、C:\project\activator
というディレクトリに解凍した activator というファイルがあるような構成にしました。
プロジェクトの作成
コマンドラインでそのディレクトリを開き、以下のコマンドを実行します。
# プロジェクトの作成 C:\project\activator>activator new myfirst-play play-scala # 作成したプロジェクトに移動 C:\project\activator>cd myfirst-play
動作確認
プロジェクトのカレントディレクトリで、以下のコマンドを実行します。
ブラウザで localhost:9000/
にアクセスしてウェルカムページが表示されれば成功です。
# アプリの実行 C:\project\activator\myfirst-play>activator run
びっくりするくらい簡単にできました。
※activator ui
コマンドでActivatorのGUI版がWebブラウザで立ち上がり、GUIを使ってプロジェクトのひな型を作ったりできる機能があるのですが、私の環境のせいなのか、それを行うとSBT(ビルドツール)の読み込みが失敗してアプリを動かせなくなってしまいました。
試してみる
PlayFrameworkは本家サイトのチュートリアルが日本語化されていて、わかりやすいので少し触ってみます。ただ、今回使用した 2.4
は日本語ページがまだ無いので 2.3
のものを参考にしましたが、基本は変わらないようでした。
2.3のドキュメント https://www.playframework.com/documentation/ja/2.3.x/Home
ディレクトリ構造
馴染みのある、MVCな構造ですね。2.3とあまり変わっていないようです。
コンソールの実行
Activatorはコンソールから色々な動作を行う事が出来ます。本家チュートリアルに従い、少し触ってみました。
# プロジェクトのルートでこれを実行 activator # コンソールのヘルプ [myfirst-play] $ help # 開発モードでサーバーを起動 [myfirst-play] $ run Ctrl+Dで終了する # コンパイルする [myfirst-play] $ compile # 対話コンソールを起動する [myfirst-play] $ console scala> Ctrl+Dで終了する
まとめ
開発環境構築をやってみた感想ですが、やり方さえ分かればすごく簡単にウェルカムページを表示する事ができました(実は少し躓いたが...)。本家サイトが日本語化されており、動かしてみるところまでは簡単だと思いました。しかし、これだけでは魅力やダメなところは全く分からないので、何かアプリを作ってみようかと思います。