FlaskとはPythonに活用されるオープンソースWebアプリケーションフレームワークです。
マイクロフレームワークと呼ばれており軽量で必要最低限の機能という特徴があります。
Python向けのフレームワークとしてDjangoと共にトップレベルの人気を集めております。
この記事ではFlaskを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
Flask(フラスク)とはPythonに活用されるアーミン・ロナッチャー氏によって開発されたWebアプリケーションフレームワークです。2010年4月1日のエイプリールフールに誕生し、アーミン・ロナッチャー氏は「エイプリールフールのジョークで作ったのだが、いつの間にか有名にそして本格的になってしまった」と語っております。特徴として提供される機能を最小限に抑えていることから『マイクロフレームワーク』と呼ばれております。シンプルな作りであることから学習コストが低く、導入障壁が低いこともメリットとして挙げられます。特に小規模でシンプルなWebアプリケーションの開発を実行する際に人気を集めております。
Pythonとはグイド・ヴァンロッサム氏によって1991年に開発された汎用的に使用されるプログラミング言語です。サーバサイド言語としてWebアプリケーションやデスクトップアプリケーションの開発に使われるだけでなく、組み込み開発、自動処理、統計・解析、機械学習など幅広い領域に対応出来るプログラミング言語として親しまれております。
特徴として『コードがシンプルで覚えやすい』『少ない記述で多くの処理が可能』などが挙げられます。Pythonは人工知能(AI)やビッグデータなどトレンドの分野にて重宝されております。
『Pythonにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
PythonフレームワークとはPythonにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Pythonフレームワークの代表的な種類としてDjango、Flask、Bottleなどが挙げられます。
Pythonフレームワーク人気どころ6選ついて解説された記事はこちら>>
Flaskの読み方は『フラスク(フラスコ)』です。名前の由来に関する情報はありませんでしたが、Flaskを直訳すると「(ウイスキーなどの)携帯用瓶、フラスコ 1 杯の容量、魔法瓶」という意味があります。Flaskが使用しているロゴも携帯用瓶のようなデザインであることからこのような意味が込められていると読み取れます。
Flaskは2010年4月にアーミン・ロナッチャー氏の開発によって誕生しました。誕生のきっかけとして「エイプリールフールのジョークで作ったのだが、いつの間にか有名にそして本格的になってしまった」とアーミン・ロナッチャー氏本人が語っております。
2020年現在最新バージョンは『Flask1.1.2』です。バージョンアップについて簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2010年4月 | Flask 0.1 初版リリース |
2010年5月 | Flask 0.2 リリース |
2010年5月 | Flask 0.3 リリース |
2010年6月 | Flask 0.4 リリース |
2010年7月 | Flask 0.5 リリース Flask 0.6 リリース |
2011年6月 | Flask 0.7 リリース |
2011年9月 | Flask 0.8リリース |
2012年7月 | Flask 0.9 リリース |
2013年6月 | Flask 0.10 リリース |
2016年5月 | Flask 0.11 リリース |
2016年12月 | Flask 0.12 リリース |
2018年4月 | Flask 1.0 リリース |
2019年7月 | Flask 1.1 リリース |
Flaskの特徴を見ていきましょう。
Flaskはマイクロフレームワークという特徴があります。軽量で機能を最小限に抑えていることから他のフレームワークに比べて動きがとても軽いです。
マイクロフレームワークの特徴、種類などについて解説された記事はこちら>>
Flaskは学習コストが低いという特徴があります。必要最低限の機能ということもあり、初心者にも理解しやすい仕様になっております。
Flaskは拡張機能が豊富という特徴があります。「Flask Mail」「Flask WTF」「Flask SQLAlchemy」などが中心に挙げられます。
Flask Mail | SMTPインターフェイスを提供 |
Flask WTF | レンダリングと検証を追加 |
Flask SQLAlchemy | SQLAlchemyサポートを追加 |
Flask Sijax | AJAXを使いやすくするPython/jQueryライブラリ |
Flask以外のPythonによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
Django(ジャンゴ)とはPythonに活用されジャンゴソフトウェア財団によって管理されているWebアプリケーションフレームワークです。2005年にニュース系サイトに利用されることを目的に誕生しました。特徴として『速い』『安全』『柔軟性・拡張性』を掲げております。このようにDjangoを使用すると、より少ないコードで、より迅速に、より優れたWebアプリケーションを構築することができます。またDjangoというその名の由来はフランスで活躍したジャズバンド「ジプシー・スウィング」のギタリストである『ジャンゴ・ラインハルト』にちなんで名付けられたそうです。Djangoを利用している有名なサービスとして『Instagram』『YouTube』『DropBox』などが挙げられます。数あるPython向けのフレームワークの中でも知名度、普及率ともにトップの人気を集めております。
Bottle(ボトル)とはPythonに活用されるマルセル・ヘルカンプ氏によって開発されたWebアプリケーションフレームワークです。2009年7月に高速、シンプル、軽量になるように設計されたマイクロフレームワークとして誕生しました。シンプルさを売りにしていることから標準搭載された機能は限定的なものです。どれほどシンプルかというとBottleは一つのファイルで構成されております。マイクロフレームワークであるFlaskと同様に小規模でシンプルなWebアプリケーションの開発を実行する際に人気を集めております。
Tornado(トルネード)とはPythonに活用されるFriendFeed社によって開発されたWebアプリケーションフレームワークです。2009年に誕生し、FriendFeed社がFacebook社に吸収された後にオープンソース化されました。特徴として『非同期処理』や『同時接続処理』を得意しております。ノンブロッキングネットワークI / Oを使用することで、数万のオープン接続に拡張できるため、 ロングポーリング、 WebSocket、および各ユーザーへの長期間の接続を必要とするその他のアプリケーションに最適です。
Flaskを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Flaskを一言で表すと『軽量で必要最低限の機能を揃えたマイクロフレームワーク』です。Flaskには「学習コストが低い」「拡張機能が豊富」といった特徴が挙げられます。Flaskについてこの記事に記載されている最低限の内容は理解しておくようにしましょう。
まとめ