garbagetown

個人の日記です

Manning: Play for Scala 読書感想文

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

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

Play for Scala: Covers Play 2

Play for Scala: Covers Play 2

全体の構成

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

  1. はじめよう
    1. Play2 入門
    2. はじめてのアプリケーション
  2. 主要な機能
    1. Play アプリケーションアーキテクチャの解剖
    2. アプリケーション HTTP インタフェースの定義
    3. データの保存 - 永続化層
    4. ビューテンプレートによるユーザーインタフェースの構築
    5. フォーム API による入力のバリデーションと処理
  3. 高度な話題
    1. JSON を使ったシングルページ JavaScript アプリケーションの構築
    2. もっと Play
    3. Web サービス、iteratees そして WebSocket

当然ながら全体の構成は Play for Java とよく似ていますが、こちらは MEAP を卒業し、正式版が発売されています。

はじめよう

ひと通り Play2 を紹介した後、簡単なアプリケーションを作成する手順を示しています。

細かいことは第二部で説明することとして、まずは Play2 の簡単さを実感してもらうという意図なのか、Play2 アプリケーションの構成を説明してからサンプルアプリケーションの作成手順に移る Play for Java よりもやや駆け足な印象です。

ちなみに Play for Java の清書版は Play 2.2 に対応しそうな印象ですが、Play for Scala は Play 2.1 に沿った内容になっています。

主要な機能

第三章で Play2 アプリケーションの構成や MVC 各層の設計などについてじっくり説明した後、第四章以降でコントローラ、第五章でモデル、第六章でビューについて説明し、第七章でフォーム処理とバリデーションについて説明しています。

全体的に文字とコード例が多く図が少なめなので、英語が苦手な人は少ししんどいかもしれません。そのぶん内容は濃密で、各章で Play2 の機能が網羅的に紹介されています。

第五章では近頃はすっかり無かったことにされている Anorm に加えて Squeryl の使い方もみっちり解説されています。

高度な話題

第八章では、第二章以降で作成してきたサンプルアプリケーションを JavaScript によるシングルページアプリケーションに書き換える手順が紹介されています。Play2 ではデフォルトで 使える coffeescript によるコードになっているのは良いのですが、DOM をゴリゴリ書き換えているので良い子は真似してはいけません。Knockout とか Angular を使いましょう。

第九章はモジュール(と言うかライブラリ)の利用手順や作成方法、プラグインの利用手順、本番環境へのデプロイ手順等が紹介されています。

第十章は WebSocket や Iteratee を使った Web サービスの利用手順を紹介しています。

まとめ

全体的に文字が多めでページは少なめ、ぎゅっと圧縮された感があり、Play for Java よりも難しい印象がありました。

とは言え、先にも書いたとおり Play2 Java は日本語の書籍が出版されますが、Play2 Scala については今のところ私が知る限り出版予定はありません。公式ドキュメントに飽き足らないひとは手に取ってみるのもいいかもしれません。

そして「やっぱり日本語で読みたいよ!」と Twitter 辺りで騒ぐと翻訳版出版の企画が通り易くなって日本 Playframework ユーザー会の面々が喜ぶかもしれません。

最後になりますが、アドベントカレンダーなのに盛大に遅くなり申し訳ありません。次は @kohachori さん です!