Pythonの人気の高まりを受けて、WebアプリケーションのフレームワークにDjangoが選ばれるようになってきました。私もDjangoが好きなひとりですが、フレームワークにDjangoを採用される前にFlaskも検討して欲しいと思っています。
この投稿では、Flaskの良さを「学習コスト」と「Djangoとの類似性」の観点から述べてみたいと思います。

image

FlaskはDjangoに比べて学習コストが低い

Djangoはフルスタック・フレームワークと評されるだけあって、Webアプリケーションを作る上で必要な機能があらかじめ入っています。会員制の大規模Webアプリケーションの開発にも十分使えます。そのぶん機能を把握するのにも時間がかかり、使いこなせるようになるにはさらに時間を要するでしょう。

一方でFlaskはシンプルな構成になっていて、Webアプリケーションとして動作する基本的な機能に絞って提供されています。一見、複雑なことはできなさそうに見えますが、必要な機能は後から付け足すことができる構成になっています。そのため、基本的な部分と付け足しが必要な部分だけ学習すればよく、Djangoと比べて学習コストを低く抑えることができるのです。

必要な部分さえ付け足せば、FlaskはDjango同様にWebアプリケーションとして立派に動作します。
どうでしょうか?魅力的ですね!

FlaskはDjangoと似ています

Flaskを学ぶと、その後Djangoを学んだ時にすんなりと理解できると思います。Djangoだけでなく他のWebアプリケーションフレームワークも実は似ています。ルーティング、リクエスト処理、データベースとの連携(Object Relation Mapping)、認証機能など、どれもWebアプリケーションの共通の概念です。もちろんFlaskもこの概念に当てはまる機能を提供しています。

シンプルなFlaskから学んでいけば、そののち、様々な言語のWebアプリケーションフレームワークの理解をするのがとてもスムーズになります。


あなたのWebアプリケーションは本当にDjangoが必要でしょうか。
ぜひ、Flaskも検討してみてください。きっと楽しくWebアプリケーションが作れると思います!