Play frameworkの学び方

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Play frameworkを使ってみよう

以前の記事でPlay frameworkについて特徴をいくつか紹介させていただきました。
もしそれで興味を持ってもらった人は、すぐにPlay frameworkを使ってみてください。
思い立ってすぐに使い始めることができるくらい、Play frameworkの敷居は低いです。
また、公式サイトや翻訳サイトも充実しており、自分であれこれやるだけでも一通り使えるようになりますが、
すこしでも学習の助けになれればと思い、各種ドキュメントの説明や私の経験を元にしたチュートリアルをご紹介させていただきます。
※今回はPlayの使い方を学ぶということを主眼にしてますので、ある程度端折ってます

Note:翻訳サイトについて
ちょくちょく登場するPlay frameworkの翻訳サイトですが、
公式サイトの翻訳を目的としており、UMEZAWA Yuichiro氏とIkeda Takafumi氏により運営されています。
もちろん公式とのタイムラグは多少ありますが、翻訳の速度も速く、英語が苦手な人はとてもお世話になると思います。
今後は基本的に翻訳サイトの表記を元に記述します。

公式サイト&翻訳サイト

1.チュートリアル動画を見る

まずは、公式サイトおよびその翻訳サイトをしっかりみるのが一番の近道です。
公式サイトのトップページに10分ほどの動画があります。
すべて英語での解説ですが、英語がほとんどわからなくてもだいたいわかる作りになってます。
これによってPlay frameworkはどんなものかイメージができると思います。

2.マニュアル、チュートリアルとリファレンスページ

さて、動画でイメージができたら次はさらっと概要をつかみましょう。
画面上のLearnをクリックしてください。
このページではGetting started/はじめよう、Tutorial/チュートリアル、The essential documentation/重要なドキュメント へのリンクがのってます。
このページを順番に見ていけばだいたい基本はわかるようになります。
まずはGetting started(はじめよう)からみていきましょう。

Note:Select the version(バージョンの選択)
画面右下をみると、バージョンが1.0〜1.2.1(2011/8/9,翻訳サイト。公式は1.2.2)までかいてあり、クリックするとそれぞれのバージョンに
対応したドキュメントが表示されます。使用しているPlayのバージョンに応じて確認してください。

3.Play、はじめの一歩

「Play frameworkのはじめの一歩を学ぶ楽しい5分間」ということで、1セクションあたり5分程度で読めるボリュームになってます。
2の動画はさっきみたので、2を除く1〜9をざっと確認しておきましょう。

1.Play framework の概要
Play frameworkの主な特徴について書いてあります。

3.Play でできる 5 つのすごいこと
もうちょっとだけ内部に踏み込んだ内容になってます。
HTTPパラメータを名前でJava引数に紐付けられることやJPA、ファイルアップロード等、「こんなに簡単!」という点を確認できます。

4.利便性 - 細部は機能と同様に重要
Play frameworkは利便性を追求するために既存のフレームワークとどのような違いがあるかを説明しています。
ここをよめば、Play frameworkなぜ「web デベロッパによる web デベロッパのためのフレームワーク」なのかがわかると思います。

5.よくある質問
公式メーリングリストの紹介や技術的な質問、なぜこんな設計にしたのかなどの、よくある質問と回答を載せています。

6.インストールガイド
Play frameworkのダウンロードから簡単な動作確認まで、細かく記述してあります。
まだインストールしていない方は、ここを見てインストールしてみてください。

7.お好みの IDE を設定しよう
Netbeans/IntelliJ IDEA/Eclipseを使用し、Play Projectでどのように開発すればよいか記述しています。
また、通常のエディタを用いた際の開発環境の設定方法や、デバッグの注意点についても記述しています。

8.はじめてのアプリケーション - 'Hello World' チュートリアル
ひととおり概要を確認し、Play frameworkをインストールしたら、次はお決まりのHello Worldです。
'Hello World' チュートリアルで実際にアプリケーションをつくってみましょう。

9.サンプルアプリケーション
ここではPlay frameworkのsamples-and-testディレクトリ内にあるサンプルアプリ一式について説明しています。
実際にサンプルアプリを動かしてみて、どんな機能があるか確認してみてください。
これらサンプルのソースは、今後アプリをつくっていくにあたって参考になるソースとなるでしょう。

yabeをつくってみる

さて、はじめの一歩で基本的なところを確認したので、次は本格的なアプリ作成を行って行きます。
「チュートリアル — リアルな Play アプリケーションを一歩ずつ作成するガイド」では'Yet Another Blog Engine'(yabe/ヤーヴェ)を
チュートリアル形式でつくっていくことで、Play frameworkの基本からさまざまな機能までひととおり学ぶことができます。
プロジェクトの作成からモデルやコントローラーの作成、拡張モジュールの導入やカスタマイズ、本番環境へのデプロイ方法まで
幅広く解説しているので、けっこうなボリュームですが、ここはぜひ実際に手を動かしながら進めてみてください。

Playの内部、詳細機能を学ぶ

実際にyabeをつくり、playのいろいろな機能にふれました。次は「重要なドキュメント/The essential documentation」を見て、
Playの内部構造や仕組みについてしっかりと学びましょう。ここでは、

  • 全体アーキテクチャ
  • ルーティングの仕組み
  • Groovyテンプレートの基本から応用まで
  • テスト手法
  • セキュリティ
  • DB変更管理方法
  • デプロイについて

などなど、Playに関するあらゆる内容がつまっています。
Playを使用して本格的なアプリケーションを作る前には、ぜひ一読しておいてください。

リファレンス

ここにはJavadocやチートシート(英語)などのリファレンスがあります。
開発時には頻繁に参照することになると思います。

modules

画面右上のModulesリンクをクリックすると、Play frameworkの拡張モジュール一覧を見ることができます。
並列処理ライブラリのakkawを使用するためのモジュールや、GAE対応にするためのモジュールなど、さまざまなモジュールがあります。

わからないことがあったら?

実際に開発を進めていくと、わからないことや原因不明のバグに悩まされることもあるかと思います。
そんなときは、Play frameworkのメーリングリスト(英語)※3に参加し、質問してみてください。
いろいろな議題や質問が毎日活発にやりとりされています。
英語がちょっと・・・という人は、日本のPlay frameworkメーリングリスト ※4で質問してみてもいいでしょう。
参加人数は本家のメーリングリストより少ないですが、日本のplay使いの人達が親切に答えてくれると思います。
また、日本Playframeworkユーザー会(play_ja)では勉強会も開催されています。
興味のある方はメーリングリストへご参加の上、ぜひ勉強会にも参加してみてください。

次のステップ

Play framewrokの基本的な部分はこれでほぼ問題ないと思います。このあとはドキュメントやメーリングリストを活用しながら
実際にアプリケーションをつくっていったり、拡張モジュールを使ってみましょう。
私の場合、元々play-scalaモジュールが使いたかったので、基本を学んだ後にplay-scalaモジュール
(Scala言語でplay frameworkが使えるようになるモジュール)の学習をしました。
このモジュールはplay-scala公式サイト※5もあり、Play frameworkと同じように基本からチュートリアル形式で学ぶことができます。
play-scalaについてもplay-scala日本語翻訳サイト※6がありますので、活用してください。

まとめ

いかがでしたか?
Play frameworkは公式ページ(翻訳ページ)だけでもとても充実しており、Play frameworkを使い始めるのに十分な情報量があります。
もしこれら以外で、ここがオススメ的なところがあればぜひコメント等で教えていただけると助かります。
この記事がPlay frameworkを使い始める第一歩となれば幸いです。

参考サイトなど