LoginSignup
3
4

More than 5 years have passed since last update.

PlayFrameworkを触ってみる

Posted at

今日の目標

Play Flameworkを触ってみる

使ったもの

参考

Play Frameworkとは

Play Framework(プレイ・フレームワーク)は、ScalaとJava言語で書かれたオープンソースのWebアプリケーションフレームワークである。Model View Controller (MVC) アーキテクチャを採用しており、設定より規約やホットリローディング、エラーのブラウザ上への表示といった方針により、開発者の生産性を上げることを目的としている。

初版は2007年。最近まであまり聞いたことがなかったので新しいものなのかな、と思ってましたが、意外と古かったことに驚き。

ではスタート

準備

まず、TypeSafe Activatorが必要だということなので、zipを落として任意の場所に展開しましょ
う(使ったもの参照)。

展開したActivatorがあるディレクトリを環境変数に設定します。

PATH=【Activatorを展開した場所(activator.bat等があるフォルダを指定する)】

テンプレートでアプリケーションを作成する

まずはコマンドプロンプトでテンプレートを使ってアプリケーションを作成します。
> activator new my-first-app play-java
play4.png

次に、作ったフォルダ内に移ってActivatorのUIを起動してみます。UIからでなくてもアプリケーションの起動等はできるようですが、せっかくUIあるので使ってみようかと。
> cd my-first-app
> activator ui
play5.png

Listeningが表示され、8888ポートで受け付けますよーと出てます。案内の通り、localhost:8888にアクセスします。
play6.png

きたきた~!
灰色のスペースにRunと書かれているボタンっぽいのが見えると思います。これを押すと、アプリケーションが起動します。
play6_1.png

そしてhttp://localhost:9000のボタンをポチリと押すと、アプリケーションがブラウザに表示される、と!
play7.png

play8.png

表示された!

Eclipseプロジェクトに変換する

Eclipseを主に使っているので、Eclipseプロジェクトに作成したアプリケーションを変換してみたいと思います。
まずは、Activatorの左メニューからCodeを選択します。すると、右側にBrowse your app’s codeというのが出てきてますね。その下に、ボタンが2つ並んでおり、Create Eclipse projectCreate IntelliJ projectがあります。Eclipseを使う場合は、もちろんCreate Eclipse projectを選択します。
play9.png

するとBuild tasksがたくさん走り、最後がSuccessfully created Eclipse~と出たら完了です。フォルダの中を見てみると、.project等おなじみのファイルが作られていますね。
play12.png

play15.png

Eclipseを開いて、ファイル->インポート->既存プロジェクトをワークスペースへを選択します。
play13.png

ルートディレクトリを指定して、完了!
play14.png

少し修正してみる

本当に気持ち程度Eclipseで修正します。
okの中を変えただけです。
play17.png

アクションは play.mvc.Result 型の値を返し、これはクライアントへ送信される HTTP レスポンスを表しています。上記の例では、ok は コンテントタイプ text/plain のレスポンスボディを含む、ステータス 200 OK のレスポンスを生成します。(Playframeworkガイド

okの意味は200 okの意味なんですね。ほかにもFotFoundとかinternalServerErrorとか、Webアプリでたまに見かけるエラーのレスポンスが設定できるみたいです。

ちなみにファイルの内容が変わるとActivatorのコンパイルが走ります。(嫌な人はActivatorのBuildメニューにあるCompile on file changeをoffにしてください)
play18.png

結果。ただ単にテキストが返ってきてるだけですね。
play19.png

こんな感じでした。
エラーにつまずくと、何が起きているのかがわからないので不便。中で何を使っているのか、何してるのかくらいは知っておいたほうが良さそうだなあ、と思いました。(でもActivatorの中とか把握できそうにないから困る)

Playframeworkはガイドが充実してますね。日本語ガイドあるのは幸せ。
そして、いろいろ動かしているとメモリ4GBの私のPCさんだと結構辛いな…と思った本日でした。Eclipseが固まる固まる…。Playframeworkはメモリとの戦いだった。

本日のエラー

最初、テンプレートでアプリケーション新規作成する手順をUIでやっていたのですが、うまくいかなかったので晒しときます。

アプリの新規作成(activator new)をせずに、> activator uiを実行。
テンプレートからHello Play Framework(Java Only)を選択。
play1.png

作成場所を選択して、完了ボタンをポチリ。しばらく待っていると…
play_error1.png

Failed to load sbt configurationと出てます。
左メニューからBuildを選択してログを見てみると、Build.sbtでなぜかエラーが出てます。
play_error2.png

この原因がわからないまま。とりあえずコマンドプロンプト上でアプリケーションを作成し、それをUIで管理するという方法に切り替えました。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4