🐍
PythonのwebアプリFWについて簡単にまとめてみた🔥
Pythonの人気webフレームワーク
主に使われるのが以下3つ(スター数などの数値は2024年8月3日調べ)
FW名 | スター数 | 初回コミット | コントリビューター数 | fork数 |
---|---|---|---|---|
Django | 78.3K | 2005年 | 2560 | 31.3K |
Flask | 67.2K | 2010年 | 718 | 16.1K |
FastAPI | 74.2K | 2018年 | 684 | 6.2K |
Django
強み
- 歴史のあるFWで、学習リソースやコミュニティが他のFWより大きい。(=何か困った時にサポートしてくれるリソースが多い)
- フルスタックフレームワーク : ORM、認証、テンプレートエンジン、ルーティング、セキュリティなどが標準で提供される
弱み
- 柔軟性の制限: フレームワークの構造に従う必要があり、自由度が低いと感じることがある。
Flask
強み
- 学習曲線が緩やか: シンプルで直感的なため、初心者にも扱いやすい。
弱み
- マイクロフレームワークで多くの機能を自分で設定・追加する必要があるため、大規模なプロジェクトでは労力がかかる。
FastAPI
強み
- 型安全: Pydanticを使用した型注釈により、バグの発見が容易。
- 自動的なドキュメント生成
- 高速。非同期処理プログラミングも備わっている。
弱み
- Djangoに比べると標準機能は少なく標準機能は少ない
感じたこと
- fastAPIが最適解になるケース
- 高速なパフォーマンスを求める時
- ドキュメントを重視する時
- 型安全な堅牢なアプリケーションを作る時
- Djangoが最適解になるケース
- フルスタックな標準機能を求める時
- 言語に関するドキュメント・コミュニティの多さを求める時
- Flaskが最適解になるケース
- 言語の学習コストを抑えて開発したい時
Discussion