Flaskは、Web開発で使用されるPythonのマイクロフレームワークです。構文が使いやすく、テンプレートエンジンとしてjinja2を使用しています。
SUNABACOプログラミングスクールでもFlaskを使ったアプリケーション開発を学びます!
Flaskは、バックエンドWeb開発に関して初心者にとって比較的入りやすいものとなっております。
- PythonはJavaScriptやPHPよりもはるかに簡単
- 流行りのPythonを使うため、新しい言語を学ぶ必要がない
- Pythonの基本的な知識を持っている人が学ぶのに時間がかからない
- SQLおよびNoSQLデータベースと互換性がある
Googleの「Flask Tutorials」には約17,500,000件くらい結果がでます。初心者の場合は、チュートリアルを勉強したあとでも、迷子になっている人も多いで、この記事で学んでいただければ幸いです。
インストール
前提条件:Pythonがインストールされている必要があります。
Pythonがインストールされている場合、Pythonのパッケージマネージャーであるpipを使用してflaskをインストールしましょう。ターミナルを開いて、次のコマンドを入力するだけです!
pip install -U Flask
Flaskの勉強の仕方
webには、Flaskを学ぶことができるソースが数多くあります。バックエンドの知識がある場合は、Flaskドキュメントを参照するのが良さそうです。
Youtubeや記事など、インターネットにたくさんソースがあるので、ググってみてください。
また、SUNABACOプログラミングスクールでもFlaskを使ったアプリケーション開発を学ぶことができます。
Django vs Flask
バックエンドフレームワークをすばやく学習することが目的である場合は、Flaskが最適だと思います。手軽にバックエンドプログラミングがどのようなものかを理解するのに役立ちます。
ただし、最終製品に重点を置き、バックエンドの経験が十分にある場合は、Djangoの方が適していると思います。
要するに、Flaskはよりシンプルで柔軟性がありますが、Djangoはもっと大規模な開発に向いている、って感じですね。
基本構文
from flask import Flask #flaskのインポート app = Flask(__name__) # __name__は、クラス関数、メソッド、記述子、またはジェネレーターインスタンス @app.route('/') # localhost:port number /で実行すると、Hello Worldが出力されます。 def hello(): return 'Hello, World!'
コマンドラインからサーバーを実行すると、次のように表示されます。
$ FLASK_APP=hello.py flask run
Serving Flask app "hello"
Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Flaskの構造
Flaskは、すべてのコードを1つの場所に詰め込む代わりに、(1)ロジック、(2)設計(3)データベースを別々のファイルに整理することができます。
- LOGIC(Controller):「main.py」はFlaskモジュールをインポートし、Webサーバーを作成し、Flaskクラスのインスタンス(新しいWebアプリケーション)を作成します。 ここで、Webアプリを構成するすべての「Logic」に関するコードを記述します。
- DESIGN(View):Flask Frameworkは、テンプレートと呼ばれるフォルダーでHTMLファイルを検索します。そのためすべてのHTMLファイルをそこに置きます。 静的フォルダーに、CSS、JavaScript、画像、その他のファイルを保存します。
- DATABASE(Model): Flaskはデータベースをネイティブにはサポートしていませんが、Flask-SQLAlchemyなどのFlask拡張機能がいくつかあります。
これをMVCモデルと呼んでいます。
まとめ
これがコーディングの過程でお役に立てば幸いです。Flaskアプリを作成したり、Python全般について話したい場合は、いつでもお気軽にSUNABACOへご連絡ください!