【献本御礼】「Play Framework 2徹底入門」は思っていた以上に実践的

@kara_dさんに著書を献本いただきました。ありがとうございます!せっかくいただいたので、しっかり読み込んで、書評を書こうと思っていました。しかし、いざ読み進めてみると、思ってた以上に実践的な内容になっており、「これは書評はそこそこに、とっとと現場に持って帰って、チームのメンバーが読める状態にしよう!」と思いました。

もともとPlay Frameworkは、本家のドキュメントサイトも充実しているし、その日本語訳サイトもきちんとキャッチアップしているので、「入門」としての情報はそこそこネット上に揃っている状態です。書籍として入門書を書いたと聞いて、どの程度プラスアルファの情報を載せたのかと思っていたのですが、実に実践的な内容も含まれていて驚きました。

この記事では、個人的に「こんなところまで書いているのか!」と驚かされた内容について、軽く御紹介したいと思います。

4.1.2 企画時に注意すること - Cookieやセッションの扱い

私がちゃんと理解できていなかったというだけの話かもしれませんが、ここでは、Play Frameworkのセッションが一般的なWebアプリケーションで用いられている、サーバサイドセッションではなく、クライアントサイドセッション方式であることの解説が書かれています。

これは実運用のための実装をする上ではよく理解しておくべきことですが、開発だけしている分にはすぐには意識できないところだと思います。こういうところをきちんと分かりやすく解説してあるのは素晴らしいと感じました。

4.1.3 Play Framework向きの企画、不向きな企画

ここでは、どういったアプリケーションがPlay Frameworkでの開発に向いているかいないかについて解説されています。

実に地に足のついた視点だと思います。一度その技術を知って、楽しみを覚えると、向き不向きを忘れて、なんでもその技術でやってしまおうという場合があるかと思います。

Play Frameworkはその名の通り、従来のJavaの開発と比較して「楽しい」と感じることができる技術ですので、尚更そういう面が強いかもしれません。しかし何でも向き・不向きがあるものなので、そういうことにしっかりと腰を据えて語られているのは素晴らしいと感じました。

4.3.1 ソースコードの運用について

ここでは、Play Framework自体のソースコードがどのように運用されているかについて解説されています。

あるフレームワークを使って解説していると、どうしてもそのフレームワーク自身のソースを追わなければいけない場面が出てきます。そうした場面もちゃんと想定して、入門書として解説されているのは、素晴らしいと感じました。

7.1 アプリケーションのテスト

ここでは、Play Frameworkでの開発の際に、テストをどのように実装・運用するかが書かれています。

私が、最初に「おっ」と思ったのは、このテストについての解説に思った以上の紙面がさかれていたからです。Play Frameworkは他のメジャーなフレームワークと比べて、テスト周りの情報が少ないようです。しかし実践においてはテストは不可欠。そこにちゃんと一定の解説をしているのは、素晴らしいと感じました。

8.4 認証周りのサポート

ここでは、Play Frameworkのアプリケーションに、オーソドックスなユーザ認証をどう実装するかが解説されています。

Play Frameworkは、もう少しユーザ認証の実装を簡単にできていいんじゃないかと思っています。なんか面倒だなと。Railsとかもっと簡単にできるんじゃないの?と。

そのユーザ認証について、一通りの実装ノウハウが解説されており、「あー、これこれ。これが必要だよね。」という感じです。この解説に結構な紙面をさいているのは素晴らしいと感じました。

その他雑感

正直言うと、私はPlay FrameworkはScalaでしか開発していませんでした。「Play使うなら、男ならScalaでしょ」みたいなワケ分かんない理由で。しかし本書の存在は、「PlayならJavaでやったらいいんじゃない?」と言わせる、大きな要因になるんじゃないかと思います。

@kara_dさんは、もくもく会を定期的に開催してコミュニティに貢献したり、こうした中身の濃い書籍を書いたりしていて、かなりリスペクトです。書籍執筆、本当にお疲れさまでした。