garbagetown

個人の日記です

Manning: Play for Java 読書感想文

このブログは Play framework 2.x Java and 1.x Advent Calendar 2013 の一日目です。

翻訳サイト など公開しておきながら Play2 のことはあまりよく分かっていないので、買ったはいいけど読んでいなかった Manning: Play for Java を流し読みして感想文でも書いてみようと思います。

Play for Java: Covers Play 2

Play for Java: Covers Play 2

MEAP (Mannig Early Access Program) とは

Manning は主にコンピュータ関連の書籍を出版するアメリカの出版社です。「〜・イン・アクション」シリーズの原著出版社、と言うとピンと来る方も多いかもしれません。紙媒体で購入することもできますし、電子書籍版を購入すると(書籍にも依りますが)pdf, epub, mobi (kindle) 版をダウンロードすることができます。

当然、原著は英語ですが、コンピュータ関連の書籍は図やコード例が多く説明も簡潔なことが多いので、原著に手を出す心意気のあるひとであれば意外と読むことができると思います。

この Manning には Early Access Program というベータ版の状態から購入できる仕組みが用意されており、先に一冊分の費用を支払ってしまうことで、完成前の書籍をいち早く読むことができます。

Play for Java は 2012 年 4 月から MEAP で発売されており、2013 年 12 月現在、すべての章の執筆は完了していて、正式版への清書を待つばかりとなっています。

全体の構成

pdf 版は 3 部構成の全 12 章 411 ページで、以下のような内容です。

  1. 導入とはじめの一歩
    1. Play 入門
    2. アプリケーション構成
    3. 基本的な CRUD アプリケーション
  2. 主要な機能
    1. Play 流エンタープライズアプリケーション
    2. コントローラ - HTTP リクエストの処理
    3. ユーザー入力の処理
    4. モデルと永続化
    5. ビューテンプレートを使った出力
    6. 非同期データ
  3. 高度な話題
    1. セキュリティ
    2. モジュールとデプロイ
    3. アプリケーションのテスト

あまり細かく書くとネタバレになってしまうので、以下に簡単に内容を紹介します。

第一部 導入とはじめの一歩

第一部は、Play2 の紹介から始まり、インストール手順、Play2 アプリケーションの構成、IDE セッティング手順など、全体的に公式ドキュメントの内容と重複する部分が多いです。

前半は文字による説明が多く、英語が苦手な方は少々しんどいかもしれません。

後半は rails の scaffold で生成されるような簡単な CRUD アプリケーションをひとつひとつ順番を追いながら作成し、Play2 に組み込まれている twitter bootstrap ヘルパーでデザインを改善するような内容となっています。

同じような内容で昨年 WEB+DB PRESS に記事を書かせて頂きましたので、気になる方はこちらも併せてご参照ください。

WEB+DB PRESS Vol.71

WEB+DB PRESS Vol.71

第二部 主要な機能

第二部の冒頭は、今後のエンタープライズアプリケーションは HTTP と REST API によるアーキテクチャに変化していくという内容で、直接 Play2 に関するものではありませんが、とても面白いです。

中盤以降は、簡単なエンタープライズアプリケーションの構築例を通して、Play2 のコントローラやモデル、ビューの使い方を説明しています。こちらも公式ドキュメントの内容と重複する部分が多いですが、視線を変えて復習するにはよい内容だと思います。

最後は、Comet や WebSocket と Akka を使った非同期なデータ処理について説明しています。今後は非同期処理についても考えていかなければならないので、とても参考になりました。

第三部 高度な話題

第三部ではセキュリティやモジュール、デプロイ、テストなど、アプリケーションの作成から一歩進んだ内容が記載されています。公式ドキュメントでは比較的あっさり触れられている部分なので、じっくり腰を落ち着けて読めるのがうれしい内容となっています。

特にモジュールの作成方法は公式ドキュメントでは触れられていないはずなので、参考になると思います。

テストについても、JUnit による単体テスト、Play2 の機能を使った機能テストおよび結合テスト、Play2 に組み込まれている Selenium 拡張ライブラリ FluentLenium によるブラウザテストと、網羅的に触れられており、参考になります。

Play Framework 2 徹底入門

以上のように網羅的な内容になっているので、公式ドキュメントにひと通り目を通しても飽き足らない方は購入されると良いと思います。

と、つい先日まで思っていたのですが、12 月 17 日に翔泳社様から日本語の Play Framework2 書籍が発売されるので、日本人の我々はこちらを購入しましょう。

著者の原さんから翻訳サイトのロゴと URL の使用許諾を求められたので快諾したところ、協力者として名前を掲載して頂けることになりましたが、本当に何もお手伝いできておらず、内容も Play2 Java に重きを置いているらしいという程度しか存じ上げません。冒頭にも書いたとおり、Play2 のことはあまりよく分かっていないので、発売されたら正座して読ませて頂こうと思います。

544 ページという鈍器や漬物石としても利用できる重厚なボリュームですので、みなさん自宅用と職場用と保管用に一冊ずつ買いましょう。

まとめ

全体的にステマ的な内容になってしまいました。また、アドベントカレンダーなのに日付が変わってしまい申し訳ありません。

そしてアドベントカレンダーなのに 12 月 2 日の担当がいないので、なんでもいいので誰か書いてください!

2013/12/02 12:21 追記
@seratch さんが当初の予定をくり上げて 12 月 2 日にスライドしてくださいました!残りの空いている枠を skinny framework ネタで乗っ取る勢い満々です。我こそはと思う方は乗っ取られる前に空き枠にエントリーしてください。