笑うPython男のアイコン

トップ > Webアプリ開発 > フレームワークとは

フレームワークとは|Flask・FastAPI・Djangoの選び方

「フレームワークって何?」から、Pythonの代表3つの違い、目的別の選び方までを1ページで。Webアプリ開発の記事で名前だけ出した道具を、ここでちゃんと紹介します。

笑うPython男

笑うPython男

フレームワーク選びで悩む人、多いよね。でも安心して。最初の一台は「軽くて見通しのいいやつ」で正解だから。重い道具は、必要になってからで間に合うよ。

フレームワークとは何か

フレームワークは、Webアプリ作りで毎回必要になる「土台の決まりごと」を先に用意してくれた枠組みです。具体的には、次のような面倒を肩代わりしてくれます。

ライブラリが「道具」なら、フレームワークは「作業の型」。型があるから、誰が書いても似た構造になり、他人が読んでも迷子になりにくいのです。

代表3つの比較

FlaskFastAPIDjango
性格小さく軽い。最小限+必要な分だけ足すAPI特化。速くて型に強い全部入り。管理画面や認証まで同梱
向いている用途学習、小〜中規模のWebアプリWeb API、マイクロサービス会員制サイト、業務システム
学習のしやすさ◎ 仕組みが見える○ 型ヒントの知識があると楽△ 覚える決まりが多い
自由度高い(部品は自分で選ぶ)高い低め(流儀に乗るのが前提)

選び方:目的で決める

まず「Webの仕組みを理解したい」→ Flask

URLと関数の対応がそのまま見えるので、基礎固めに最適です。このサイトのWebアプリ記事もFlaskで進めています。迷ったらまずこれで問題ありません。

「APIを作るのが目的」→ FastAPI

スマホアプリやフロントエンドと通信するAPIが主役ならFastAPI。型ヒントを書くと入力チェックとドキュメント(Swagger UI)が自動で付いてくるのが強みです。非同期処理にも対応します。

「ログイン、管理画面、データベースまで一式ほしい」→ Django

会員登録、権限管理、管理画面といった「よくある機能」が最初から揃っています。本格的なサービスを短期間で立ち上げたいときの選択肢。ただし、流儀を覚えるまでの学習量は3つの中で一番多いです。

笑うPython男

笑うPython男

「どれが一番すごいか」じゃなくて「何を作りたいか」で選ぶんだよ。道具選びで迷ってる時間がいちばんもったいない。振り回されてる時点で、もう負けてるからね。

このサイトでのおすすめ順

  1. Flaskで小さなアプリを一周する(公開中のWebアプリ記事)
  2. APIに興味が出たら FastAPI を触る
  3. 大きなサービスを作りたくなったら Django を検討する

フレームワークを乗り換えても、Pythonの文法や「リクエストとレスポンス」という基礎はそのまま使えます。最初の選択で一生が決まるわけではないので、気楽に始めてください。

関連ページ:Webサーバーの選び方

フレームワークが「アプリの型」なら、Webサーバーは「表に立つ番人」。役割の違いを解説します。

Webアプリ開発の記事へ