Flask

Flask(フラスク)は、プログラミング言語Python用の、軽量なウェブアプリケーションフレームワークである。標準で提供する機能を最小限に保っているため、自身を「マイクロフレームワーク」と呼んでいる。Werkzeug WSGIツールキットとJinja2テンプレートエンジンを基に作られている。BSDライセンスで公開されている。

Flask
開発元 Armin Ronacher
初版 2010年4月1日 (2010-04-01)
最新版
3.0.2[1] ウィキデータを編集 / 2024年2月3日
リポジトリ
プログラミング
言語
Python
対応OS Cross-platform
種別 ウェブアプリケーションフレームワーク
ライセンス BSDライセンス
公式サイト palletsprojects.com/p/flask/

概要

Flaskは、標準で提供する機能を最小限に保っているため、自身を「マイクロフレームワーク」と呼んでいる。Flask自身は、他のフレームワークがしばしば持っているような、データベース抽象化レイヤやフォーム値の検証などの機能を持たない。これは、どんなWebアプリケーションにも適合する良い基盤を作るための設計判断だとしている(例えば、テンプレートエンジンはほとんどのWebアプリケーションで有用だが、関係データベース等はすべてのアプリケーションが必要とするものではない)[2]。とはいえ、それらの機能を、あたかもFlaskが元からサポートしているかのように追加できる拡張性も備えている。現段階において、オブジェクトリレーショナルマッパや、フォーム値の検証、ファイルのアップロード、ユーザログイン、種々のオープンな認証技術をサポートする拡張などが第三者によって提供されている[3]

歴史

FlaskはArmin Ronacherによって開発された。彼は『エイプリルフールのジョークとして作ったのだけれど、有名になって、いつのまにか本格的なアプリケーションになってしまった』[4][5]と述べている。

バージョン0.10で、Python 3に対応した[6]

FlaskはPython愛好家の間で人気がある。2020年10月 (2020-10)現在GitHub上のPythonのウェブ開発フレームワーク中でDjangoよりわずかに少ない2番目に多いスターを獲得しており[7]、JetBrainsのPython Developers Survey 2018、2019、2020では、最も人気が高いウェブフレームワークになった[8][9][10]

機能

  • 開発用サーバとデバッガを備える
  • テンプレートエンジンとしてJinja2を使用
  • RESTfulなリクエストディスパッチ
  • 整備されたドキュメント
  • 統合されたユニットテストサポート
  • メッセージ認証コード付きのセキュアCookieのサポート(クライアントサイドセッションを実現)
  • WSGI 1.0 の完全な準拠
  • Unicodeベース
  • Google App Engine互換
  • 機能を追加する各種の拡張が利用可能

サンプル

以下のサンプルコードは、ルートパスにアクセスすると "Hello World!" を表示するだけのアプリケーションである。

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World"


if __name__ == "__main__":
    app.run(debug=False)

関連項目

  • Django
  • Pylons
  • Bottle
  • ウェブフレームワークの比較

外部リンク

脚注

  1. Release 3.0.2 (3 2月 2024). 19 2月 2024閲覧。
  2. Design Decisions in Flask”. 2013年2月20日閲覧。
  3. Extensions Registry”. 2013年2月20日閲覧。
  4. Ronacher, Armin. Opening the Flask”. 2011年9月30日閲覧。
  5. Denied: the next generation python micro-web-framework (April Fools page)”. 2011年9月30日閲覧。
  6. Pythonの軽量Webフレームワーク「Flask」がPython 3に対応 (2013年6月16日). 2014年3月11日閲覧。
  7. Python libraries by GitHub stars”. Github. 2020年1月27日閲覧。
  8. Python Developers Survey 2018”. www.jetbrains.com (2018年11月1日). 2021年5月20日閲覧。
  9. Python Developers Survey 2019 Results (英語). JetBrains: Developer Tools for Professionals and Teams. 2021年5月20日閲覧。
  10. Python Developers Survey 2020 Results (英語). JetBrains: Developer Tools for Professionals and Teams. 2021年5月20日閲覧。
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.