久々にブログ更新。
ここ最近、友人から紹介されてWINGSプロジェクトという技術書執筆者のコミュニティに属して、色々と執筆を行っていたりします。 たとえば、CodeZineで「サンプルコードで学ぶRuby on Rails 5実践入門」という連載中です(もうすぐ連載終了予定ですが)。
さて本題ですが、このWINGSプロジェクトの主催者である山田祥寛さん著「Ruby on Rails 5 アプリケーションプログラミング」という技術書を献本頂いたのでレビューを書きます。
網羅性が高い
全体的にRailsの機能をまんべんなく解説しています。 たとえばDBから動的にセレクトボックスを生成するoptions_from_collection_for_selectビューヘルパーなど、かなり広範囲にカバーされている印象でした。 また、ActiveRecordのlock_versionカラムによるオプティミスティック同時実行制御についても触れられています。 さらに、フロントエンドの開発のところで、CoffeeScriptには三項演算子がないなど、CoffeeScriptの基本的な文法まで触れられているのでRubyしか触ったことがない人にとってもこれ1冊でRailsの基礎を身につけることがある程度できそうです。 あとscss -iでSCSSがインタラクティブモードで起動できるとか実は初めて知ったことも書いてありましたw
解説が分かりやすい(特に解説図)
専属テクニカルライターとしてキャリアの長い山田さんならではの分かりやすい解説が特徴かと。 Rails初心者が読んでも非常に分かりやすいと思います。 また、ところどころで差し込まれている解説図が直感的に理解しやすいもので感心しました。
随所にRails5以前のバージョンの知見が散りばめられている
NOTEとしてRails5以前だとどうだったかの解説があります。 たとえばStrong Parametersの解説など、3系・4系のバージョンと絡めてRails5への理解を深める解説が散りばめられています。
註釈が結構細かい
右側が本文、左側の余白に様々な註釈があり、知識を補強する解説が掲載されています。 結構かゆいところに手が届く感じの註釈が多い感じで表層的な理解に留まらず背景知識も深く理解できそうです。
環境構築はちょっと注意が必要
環境構築がWindowsとLinux両方をサポートしているのですが、Railsをガチで開発する場合結構Macで開発することが実際多いかなと。 Macでの手順の記述がないのはちょっと残念な印象です。 また、Railsも直接gemをインストールしていますが、実践的にはrbenvでRubyをインストールしてbundler経由でRailsをプロジェクトローカルにインストールすることがほとんどなので、その辺のデファクトが分かっていない人にとってはちょっと注意が必要かなと。 まぁ、そもそも上級者向けの書籍ではないのでその辺は当初から割愛しているのかな、とは思いますが。
Action Cableの詳細解説がない
Rails5の目玉機能の1つにAction Cableがあることはサラっと触れられているのですが、残念ながら詳細の解説がないです。 この辺はページ数の関係で省略したんでしょうか。まぁこれちゃんと説明すると結構面倒なんですよねw
総評
個人的には網羅性と分かりやすさの観点で、初心者を脱却しつつある方が体系的にRailsを捉え直すのにちょうど良い書籍かなと。 全くの私見ですが個人的にはパーフェクトRuby on Railsより分かりやすい印象ですw