読書メモ:現場で使えるDjangoの教科書
スキルの棚卸のため、こちらも過去読んだ本について書きます。
Djangoは、Pythonで書かれたMVCフレームワークです。
RoR(Ruby on Rails)のPython版というイメージで間違いありません。
前の職場でDjangoとFlaskがミックスで書かれたOSSのWEBシステムを(魔)改造してシステム・インテグレーションして使用するために、そのシステムの調査およびインテグレーションのPoCを開発するために、この本で勉強しました。
また、PythonのライトなWEBフレームワークでFlaskがあり、そちらでもミニマムなシステムがあり、(LDAPログイン機能等を)開発したりしました(なのでPythonのWEBエンジニアは、DjangoとFlask両方知っている必要があると思います)。
DjangoやFlaskを使うと簡単にWEBアプリを作ることができます。
しかし、RoRと同様にDjangoでもヘビーで本格的なOSSのWEBシステムを改造したりインテグレーションしたりするには、他人が書いたコードを読んだり、アプリ自体に様々なモジュールが追加されていたり、別のマイクロサービスと依存していたり、基本機能との境界が見えなくなりキャッチアップするのが大変です。
そのような時に、さっとまずDjangoの基本機能を学ぶのに役立ちました(全体で200ページ程度) 。
自分の印象だと、日本より海外のWEBアプリでよく使われている印象を受けます(日本だとMVCフレームワークはRoRの方が人気でしょうか?)。
最近は、インターネット企業だとバックエンドはAPIサーバ、フロントはReact等(Next.jsやNuxt.js)で完全に分けており、モバイルアプリでも使えたり、人気が出たらアーキテクチャを変えずにAPIサーバの数を増やしてスケーリングをしやすようにしている印象を受けるので、最前線はDjangoのAPIサーバの勉強のみで良いのかもしれません・・・(間違っていたらご指摘ください)
使いたいPythonモジュールがあったり、自分で開発したPythonプログラムがあり、それらをWEBアプリに組み込みたい場合に、Djangoの勉強で参考になる書籍です。