【ふらすく】

Flask とは?

💡 Python製の「必要なものだけ」軽量Webフレームワーク
📌 このページのポイント
Flask:リクエスト処理の流れ リクエスト GET /hello ブラウザ ルーティング @app.route ('/hello') URLと関数を紐付け ビュー関数 def hello(): 処理を実行 ビジネスロジック テンプレート Jinja2 HTMLを生成 hello.html レスポンス HTML 200 OK 軽量・マイクロ 最小限のコアで動作 拡張しやすい 必要な機能を追加 Pythonベース 学習コストが低い PythonのマイクロWebフレームワーク。シンプルさが最大の特徴
Flaskのイメージ
ひよこ ひよこ

Flaskって何がいいの?

ペンギン先生 ペンギン先生

とにかくシンプルなところだよ。たった5行くらいのコードで「Hello World」を返すWebサーバーが作れるんだ。「from flask import Flask」して、ルートを1つ定義して、app.run()するだけ。初めてのWeb開発にぴったりだよ。

ひよこ ひよこ

おもしろい!マイクロフレームワークってどういう意味?

ペンギン先生 ペンギン先生

「必要最小限の機能しか最初から入っていない」という意味だよ。Djangoみたいに管理画面やORMが最初から入ってるわけじゃなくて、必要になったら自分で選んで追加するスタイルなんだ。

ひよこ ひよこ

どんなときにFlaskを選ぶの?

ペンギン先生 ペンギン先生

小さなAPIを作りたいとき、機械学習モデルをWebで公開したいとき、プロトタイプをサッと作りたいとき…つまり「大げさな仕組みは要らないけどWebで動かしたい」ときにFlaskが輝くよ。

ひよこ ひよこ

大きなアプリにはFlaskは向かないの?

ペンギン先生 ペンギン先生

向かないわけではないんだけど、大きくなると自分でいろいろ設計しないといけないんだ。ファイル構成・エラーハンドリング・認証の仕組みなど、Djangoなら決まってることを全部自分で決める必要があるからね。

ひよこ ひよこ

FlaskとFastAPIってどっちがいいの?

ペンギン先生 ペンギン先生

FastAPIはPython 3.6以降の型ヒントを活用して、APIドキュメントの自動生成やリクエストバリデーションが標準で付いてくるんだ。新規のAPI開発ならFastAPIの方が効率的なことが多い。ただFlaskのアプリケーションコンテキストやリクエストコンテキストの仕組みは、テスト時のモック差し替えや複数アプリの同時実行で独特の使い勝手があって、この「コンテキストスタック」の動きを正確に理解するのはベテランでも難しいポイントなんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Flask」って出てきたら「Pythonで軽量にWebアプリを作れるフレームワークだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「flask」 = フラスコ(実験用の瓶)
💬 実験用フラスコのように、小さくて必要最小限な入れ物というイメージだよ
← 用語集にもどる