はじめに
いまさらながら Flask について整理していきます。「Flaskとかいうやつを使って、試しにアプリ開発にトライしてみたい」くらいの感覚の人を対象にしています。
Flaskのバージョンは 0.12.2 です。
この記事は、Flaskのざっくりとした紹介のみです。
Flaskについて
Flaskは、Pythonのための microframework です。
- GitHub - pallets/flask: The Python micro framework for building web applications.
- Welcome | Flask (A Python Microframework)
micro の名前通り、Webアプリケーション開発に必要な最低限の機能のみを提供しています。具体的には以下のような機能です。
- Templates
- Routing
- Logging
- Testing Application
- Handling Error
- Debugger
- (Blueprint)
- Configuration
ちょっと込み入ったWebアプリケーションを作るといずれ必要になるであろう「入力フォームの検証」や「データベースの抽象レイヤー」などは用意されていません。代わりに、まるでFlask自身の機能であるかのように、それらの機能を追加・拡張できる仕組みが用意されています。既存のFlaskの拡張は以下にまとめられています。
Extensions Registry | Flask (A Python Microframework)
また、Pythonには既に多くのライブラリが存在しています。Flaskにない機能については、ライブラリを利用するのも手です。ありがたいことに、Pythonの多種多様なライブラリは下記リポジトリにリストアップされています。
「不足機能を別のライブラリで補う」と聞くと、「Pythonの各種ライブラリに精通していないような初学者には難しいのではないか」と感じる人もいるかもしれません。しかし、それは杞憂です。むしろ、micro であるがゆえに初期の学習コストは低く、初学者が学習目的で使うこともできます。手っ取り早く動くコードを書いて、振る舞いを確認したいというのであれば、Flaskのようなmicroframeworkが適していると思います。
さいごに
次回以降、気分で箇条書きした各機能について触れていこうと思います。