
flaskとは?
軽量でそこそこ速い。処理最低限なのでカスタムしやすい(ルールほぼないので自由に書ける)
✅ 個人や小規模の開発、機械学習、AIがメインの人なら
✅ Pythonの書き方やルール勉強のため
✅ 覚えることが少ない。Python知ってればOK
Flaskは超最低限の機能でシンプル覚えること少なくて自由に書ける。ただし、便利機能は自分で書いたり追加で導入する必要がある。
ref
Flaskには大きく2つの特徴があります。
シンプルかつ軽量であり、初期の学習コストが低い
Flaskは中核のプログラムが非常にシンプルでありながら、様々な拡張が可能なように保たれています。デフォルトで用意されている機能は必要最小限であり、そこから自分に必要な機能を追加していくことができます。その軽量さからマイクロフレームワークとも呼ばれており、作成方法もシンプルで初期の学習コストが低いです。
一方、Djangoはフルスタックフレームワークと呼ばれており、データベースを始めとした様々な機能が最初から搭載されています。それゆえにフレームワーク自体のサイズが大きく、初期の学習コストが高いのが特徴です。
拡張機能で、様々な機能を追加できる
Flaskは、デフォルトでPython用テンプレートエンジン「Jinja2」、WSGIライブラリ「Werkzeug」といったライブラリが組み込まれています。他にも、ログイン機能やデータベース機能などの周辺プラグインで拡張することによって、開発に必要な様々な機能を追加していくことができます。
Flaskは小規模〜中規模程度のWebアプリケーションやWeb APIでの採用が多いです。理由としては、Flaskの拡張性はメリットではありますが、大規模になると自分で1つずつライブラリを選定することがデメリットになるからです。
大規模なアプリケーションを作成する場合は、最初から多くの機能が搭載されているDjangoなどの採用も検討するようにしてください。Flaskと比べてDjangoは日本語情報が多いという特徴もありますので、自身のやりたい内容を考えて、採用を検討すると良いでしょう。
ref
pic ref