PlayFramework のインストールと始め方についてです。
PlayFrameworkとは
PlayFramework は Java と Scala のMVC型フルスタックフレームワークです。Java EEの常識を捨てたフレームワークとも言われており、Servlet や JSP を使いません。また、Tomcat 等のアプリケーションサーバを使う一般的なフレームワークとは少し違い、組み込みの Netty HTTPサーバが内蔵されています。そのため基本的には Play 起動 + Nginx or Apache の組み合わせで事足りますが、War にパッケージングしてデプロイすることもできます。
PlayFramework がバージョン1.xの頃は Java ベースで書かれていましたが、バージョン2.0からはフレームワークのコア自体が Scala で書き直されました。 ビルドやデプロイも Python によるスクリプトが使われていましたが、バージョン2.0からは SBT が使われています。
PlayFrameworkのインストール
PlayFramework について調べるとplay
コマンドを使用する方法がよく出てきますが、これはもう無視していいです。バージョン2.3以降からactivator
に移行しました。
更に、Activator を調べると Typesafe Activator と表記されていることが多いですが、これも Typesafe は Lightbend に社名変更しているため、今後は Lightbend Activator となります。
現在、Homebrew で play を検索すると以下のように typesafe-activator をインストールして下さいとメッセージが表示されます。
$ brew search play ... If you meant "play" precisely: Play 2.3 replaces the play command with activator: brew install typesafe-activator You can read more about this change at: https://www.playframework.com/documentation/2.3.x/Migration23 https://www.playframework.com/documentation/2.3.x/Highlights23
Macにインストール
Mac には Homebrew でインストールできます。
$ brew install typesafe-activator $ activator -help
CentOSにインストール
CentOS には PlayFramework の公式サイト Downloads または、Lightbend の公式サイト Build Reactive Applications with Lightbend Activator からダウンロードします。軽い minimal 版で大丈夫です。
# wget https://downloads.typesafe.com/typesafe-activator/1.3.10/typesafe-activator-1.3.10-minimal.zip # unzip typesafe-activator-1.3.10-minimal.zip # ln -s activator-1.3.10-minimal typesafe-activator # chmod a+x typesafe-activator/activator # echo 'export PATH="/usr/local/lib/typesafe-activator:$PATH"' >> /etc/profile.d/activator.sh # source /etc/profile # activator -help
アプリケーションの作成
activator がインストールされたらアプリケーションを作成します。activator new
を実行すると対話形式で式プロジェクトの作成ができます。1回でプロジェクトを作成したい場合はactivator new sample-scala play-scala
で作成できます。
$ activator new Fetching the latest list of templates... Browse the list of templates: http://lightbend.com/activator/templates Choose from these featured templates or enter a template name: 1) minimal-akka-java-seed 2) minimal-akka-scala-seed 3) minimal-java 4) minimal-scala 5) play-java 6) play-scala (hit tab to see a list of all templates) > 6 Enter a name for your application (just press enter for 'play-scala') > sample-scala OK, application "sample-scala" is being created using the "play-scala" template. To run "sample-scala" from the command line, "cd sample-scala" then: /Users/tasukujp/sample-scala/activator run To run the test for "sample-scala" from the command line, "cd sample-scala" then: /Users/tasukujp/sample-scala/activator test To run the Activator UI for "sample-scala" from the command line, "cd sample-scala" then: /Users/tasukujp/sample-scala/activator ui
プロジェクトの作成には様々なテンプレートを選択することができます。 Templates - Lightbend Activator 作成されたらactivator
コマンドで Play コンソールを起動してrun
コマンドでサーバを起動しましょう。activator run
だけでも大丈夫です。
$ cd sample-scala/ $ activator [sample-scala] $ run ... --- (Running the application, auto-reloading is enabled) --- [info] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000 (Server started, use Ctrl+D to stop and go back to the console...)
起動後にhttp://localhost:9000
にアクセスすると次のような画面が表示されます。
You're using Play 2.5.4
と表示されているのが Play のバージョンです。project/plugins.sbt
からも確認できます。
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.4")
ちなみにここまで activator ありきで説明してきましたが、activator は sbt のラッパーのようなものなので、特に必要でなければ使わなくてもいいです。例えばサーバを起動したい場合でもsbt run
と実行すれば同じ結果が得られます。
sbt Reference Manual — Lightbend Activator (sbt を含む) のインストール
typesafe activatorを使わないplayframework2.3の始め方
ちょっと古いけど入門用の動画もありました。
.gitignoreの設定
ファイルには最低限の以下内容を設定しておいたらいいでしょう。.idea
とout
は IntelliJ を使用してる方の場合に必要です。
/logs/ /target/ /project/target /project/project /.idea/ /out/
Playアプリケーションの構造 - 2.4.x (日本語)
Playアプリケーションの構造 - 2.5.8 (英語)