「現場で使える Django の教科書《基礎編》」の書評を書いていきたいと思います。
Djangoは世界的に人気のあるWebアプリケーションフレームワークでこちらのランキングによると執筆時点で第6位になっています。
私は普段からDjangoを使ってアプリなどを作っているのですが、今回自分の知らないベストプラクティスや間違って覚えた基礎知識などがないか確認するために購入し読んでみました。
私の総合評価
総合評価
気持ち的には星2.5と星3の間くらいです。
タイトルと内容が釣り合っておらず「現場で使える」かは疑問ですが、ほとんどDjangoを知らないという初心者の方にとってはわかりやすい本だと思います。
以下が評価の内訳となります。↓↓
内容の範囲 | |
内容の深さ(専門性) | |
わかりやすさ | |
ボリューム | |
価格(コスパ) |
内容はフレームワークの基本機能の説明が大半で、公式ドキュメントのチュートリアルをやった方ならあまり得るものは多くないと思います。
一方Djangoの仕組みをほとんど知らないという方にとっては必要な基礎知識を網羅的に、わかりやすく解説してあるので、オススメできます。
しかし、価格が執筆時点で1760円(ペーパーバック版)とやや高いのでそこはイマイチです。
以上のことから、この本はこんな人におすすめしたいと思います。
こんな方におすすめ
- Djangoをほとんど知らないという方
- Djangoの公式チュートリアルを見たけど「長くて読みたくない」という方
- 時間がないので手っ取り早くDjangoの概念を知りたいという方
逆に言うと一度でもDjangoのアプリを作った方や、公式ドキュメントや技術ブログなどで自分で調べられるという方にはあまりオススメできません。
どういう本?
著者
この本を書いているのは「横瀬明仁」という方でご自身のブログを運営されており、この本の他にも「現場で使えるDjangoの教科書<<実践編>>」を執筆されています。
内容
各章でDjangoのフレームワークの説明がされており、それに加えて著者の方の「ベストプラクティス」が書かれています。
例えばDjangoは「モデル・ビュー・テンプレート」という大きな概念があるのですが、5章はビューの説明、6章はモデルの説明、7章はテンプレート、....のように章ごとに区切って説明がされています。あくまでも基礎概念の説明に重きをおいているという印象です。
加えてプロジェクト構成や設定ファイル周りの話に紙面が多く割かれている印象ですね。
一方で、説明のために短いサンプルコードがところどころに書かれているものの、技術書によくあるような「一つのアプリケーションを本を通して作っていく」ようにはなっていません。
なので全体像を把握したり、アプリを作るという点では分かりづらいかもしれません。
また、開発環境については付録としてPyCharmのインストール方法やDockerの説明も少しだけ載っていますが、サーバーへのデプロイなどについては書かれていません。
いいところ・参考になったところ
この本のいいところとしてわかりやすさがあると思います。
特に技術書、専門書は著者の方はスゴくても、「何言ってるか分からない」ということが往々にしてあるのですが、この本は説明がわかりやすいのがイイです。
ユーザモデルの拡張や、ロギングも含めた設定ファイルの説明がサンプルコードも含めて載っていたことが、私個人にとっては参考になりました。
設定ファイルは開発している上ではあまり重要ではないかもしれませんが、後々は重要になってきますからね。
また、「日本語である」という点も当たり前ですが重要ですよね。Djangoのドキュメントは内容こそ充実しているものの、ところどころ日本語に訳されていなかったり、検索機能が使いづらかったりしますから。
不満点
実は個人的には結構不満があります。
一言で言うならば「公式ドキュメント以上の情報がない」ということです。(あくまで私個人の意見です)
この本の対象として
- Djangoを始めてみたけど今いちコツが掴めないという初級者の方
- Djangoのベストプラクティスを学びたいと考えている中級者の方
と書かれているので、私は「ベストプラクティス」目当てで買いました。
ところが、この本で書かれているベストプラクティスは公式ドキュメントでも書かれているようなことがほとんどで、「こんなやり方があるのか!」とか、著者の方の経験から得た上手いコードの書き方などがないように感じました。
例えば、「urls.pyをアプリごとに分割する」というのは公式チュートリアルでも普通にやっていますし、クエリが発行される本数の話などは公式ドキュメントでも説明されています。
Djangoの公式ドキュメントが充実しているから、という理由も考えられますが、もうちょっと何かなかったのかな〜と思ってしまいました。少なくとも中級者向けではないです。
また、「現場で使える」というタイトルならばもうちょっとデプロイや運用面での記述があってもいいのではないかと思います。特にDjangoのデプロイって分かりづらいですから。
そのあたりは”実践編”を読んで下さいねってことでしょう。
余談
説明か実践か
こういったフレームワークやライブラリって「説明をするのか」「実際に何かつくってみるのか」どちらの方がいいのかな〜と考えてしまいます。
私の場合は何らかのアプリを作ってみて理解するのですが、どうしても理解の漏れがあったりベストプラクティスを知る前に変な書き方をしちゃったりということがあります。
かといって最初から説明書を読むようにやっていても飽きてしまいますから......難しいところですね。
でもやっぱり自分でコードを書いてアプリを作ったほうがいいと思います。
Amazonレビュー
正直Amazonの評価が高すぎるのでは?と思ってしまいました。
確かに初心者にはオススメの本なのですが、ドキュメントを読めばわかるようなことが多いですからAmazonでここまで高く評価されているのは少し疑問です。
技術書は一冊がお高めなのでついつい評価の高いものを選んで買ってしまうのですが、特に最近はAmazonの評価と私の感覚がズレてきているように感じ、やや不安です。
まとめ
今回は「現場で使えるDjangoの教科書(基礎編)」の書評を書いてみました。初心者にはオススメですが、中級者にはオススメできません。
丁寧に説明されていますから、Djangoの基礎概念がまだよくわからないという方は購入を検討されてはいかがでしょうか。