Djangoでバックエンドを構築した件について振り返ってみる
こんばんは。関西在住の46歳のおっさんで、親の仕送りでキャバクラに通うクロちゃんと同い年みたいです。社長ですが客先に常駐して主にWEBシステムの保守や新規開発をしています。
新規案件としてDjangoでAPIやバッチを開発することとなったのですが、Djangoは未経験、Pythonもちょっと知ってるレベルでしたが、Spring Bootは経験あるし、Javaは知ってるから何とかなるかと思い、適当な感じで全然いけますよとハッタリをかまして受けました。
ただ、DjangoはSQL文を組まないので(Ruby on Railsもですよね)、癖が少し強いですね。慣れるのに大変でした。特に N+1 問題というパフォーマンスが意図せず劣化する問題に神経を使いました。ただ、慣れてしまえばSQLレスなので、その分の作業コストが減ります。
ユニットテストもSQLは不要で、Modelクラスでデータ作成コードをゴリゴリ書けるので、だいぶ楽ができます。
ただ、DjangoはOpenAPIのymlファイルからリクエストハンドラーやモデルを自動生成してくれないので(JavaやKotlinはGradleでサクッとコード生成してくれたので楽でした)、そこはデメリットとして感じました。Djangoも対応してくれたら嬉しいですね。
まとめると、パフォーマンスを意識したコードを組む必要があるのと、他言語だと自動生成してくれるコードを手書きとするデメリットはありますが、慣れてしまえば万人受けするPythonでSQLレスな爆速開発ができるという余りあるメリットがあります。ただ、やはり癖が強い。小規模開発向けですね。
次回もDjangoの仕事があれば受けたいですね。
この記事が気に入ったらサポートをしてみませんか?