1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

結局pythonのwebフレームワークってどれ使えばいいの?

Posted at

こんにちは

Python教の皆さんごきげんよう
Python で Web アプリを作ろうと思ったとき、「結局 Django?Flask?FastAPI?」って迷いません?迷うと言ってください。
僕も調べるまではそれぞれ開発で本格的には使ったことがなかったので、どれがどう違うのかまったくピンと来ていませんでした。 ということで今回は備忘録代わりにまとめてみました。

先に結論

用途による!

待って!!ブラウザバックしないで!!

凡庸な結論で大変申し訳ありませんが、それぞれ一長一短あるからこそフレームワークは同時に存在しているのです。銀の弾丸なんてねぇのです。
これから技術選定をする人にとって少しくらいは参考になるかと思うのでどうか見ていってほしいな、って...

比較フレームワーク

比較対象は DjangoFlaskFastAPI の3つ。
調べてみるとTornado や Sanic、aiohttp など他にも色々あるみたいですけど、正直僕は今日まで名前くらいしか知らず、エアプで語ると怒られそうなので、今回はこの3つを比較させてもらいます。

人気度

データはDeepResearch君に集めてもらいました。便利だね😊

GitHubスター数(2025年4月現在)

フレームワーク GitHubスター数⭐
Django 83.3 k
Flask 69.4 k
FastAPI 83.7 k

FastAPI は最近 Django とスター数で肩を並べたと報告されています
Flask はコミュニティが活発ですが、スター数は Django / FastAPI よりやや少ない状況です。

PyPI月間ダウンロード数

フレームワーク 月間ダウンロード数
Django 21,006,637
Flask 108,001,579
FastAPI 86,917,112

開発者利用率

調査・年度 Django Flask FastAPI
JetBrains “The State of Django 2024” 74 % 26 % 25 %
Stack Overflow Dev Survey 2024 12 % 12.9 % 9.9 %
“A Year In Review: Flask in 2024” by MG 39 % 39 % 25 %

フレームワークごとの特徴

Django

Djangoは「バッテリー同梱」の代表格で、認証、管理画面、ORM、フォーム、国際化…とにかく最初から何でも揃っています。DjangoのORMは直感的に扱えて個人的に好きです。
大規模サービスや社内ツールを堅実に作りたいときには、非常に有用です。設定ファイルやディレクトリ構成の慣習がしっかりしているぶん、学習コストはちょっと高めな印象。

僕が気になったのは、やり方を覚えるまで「Django Way」に合わせる必要があるところ。でも、一度踏襲すれば手放せなくなる安心感があります。

Flask

一方 Flask は軽量路線そのもの。ルーティングとテンプレートエンジンだけ押さえておけば動くシンプルさが魅力です。
拡張(Flask-Login, Flask-SQLAlchemy など)は自分で選んで組み込むスタイルなので、必要なものだけ取捨選択できるのがいいですね。

でも逆に、拡張を探したり組み合わせを考える手間はちょっと面倒。小規模プロトタイプや勉強には最適ですが、泥臭くライブラリ選定するのが苦手だと少しハードル高いかも。

FastAPI

そして FastAPI。型ヒントから自動で OpenAPI ドキュメントを生成してくれる神フレームワークです。さらに ASGI ベースで async/await が使えるので、API サーバーとしてのパフォーマンスはピカイチ。

僕は非同期処理に慣れていなかったけど、調べたらコード例がものすごくシンプルでとっつきやすかった。
ただし、型アノテーション前提なので「型書くのめんどくさい!」という人にはツラいかもしれません。

で?結局何を選べばいいの?

  • 管理画面とか認証とか一式欲しい → Django
  • 気軽に動くものを最小構成で作りたい → Flask
  • API サーバー&非同期処理が鍵 → FastAPI

…って感じで、用途がはっきりすれば実は迷わないのです。どれか一つ試してみて、「思ったより良かった」方向に合わせるのが吉。もちろん「好きだから使う」というのも素敵な理由だと思います。

実際にさわってみよう

まずは公式チュートリアルをちょちょいと動かしてみると、フレームワークごとの「手触り感」がかなり違います。
実際のコードを少し書いてみるだけで、ライブラリ選びの感覚がグッと絞り込めるはずです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?