OSS まとめてみました!

個人的に面白いと思ったオープンソースソフトウェア(OSS)をまとめてみました!

MENU

Python で素早く簡単に Web アプリケーションを作成したいなら!「Flask」

概要

Python は現在多くのエンジニアの方が使用するプログラミング言語で、AI モデル開発や機械学習などに積極的に利用されていますよね。

この Python を利用して機械学習以外に何か Web アプリを作成して遊んでみたいという方も多いかと思います。

Web アプリといえば HTML や JavaScriptCSS を利用して作成するものが多いですが、Python でも Web アプリを作成することができます!(さすがはなんでもできる Python ですね!)

今回は Python で Web アプリをシンプルかつ簡単に作成することをサポートする OSS フレームワーク「Flask」を紹介します。

こちらは初めはとてもシンプルな Web アプリとして利用可能ですが、複雑なアプリへスケールアップすることも可能な機能を兼ね備えており、現在最も人気のある Python Web アプリフレームワークの 1 つとしても知られています。

こちらでは本 OSS の始め方や実際に使ってみた感想についてまとめていこうと思います。

利用手順

以下の GitHub 上の README を参考に、Python へ Flask をインストールするだけです!

Python 3系 がすでに入っていることを前提とします。

github.com

$ pip install -U Flask

使用感

では早速 Flask を起動してみましょう。

まずは任意のディレクトリで、app.py ファイルを作成し、以下のコードを入力して保存します。

from flask import Flask

app = Flask(__name__)

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

入力後、app.py があるディレクトリで flask を利用して Flask を起動します。

$ flask run

起動後、以下のメッセージがコマンドライン上に表示されるので、メッセージに従って http://127.0.0.1:5000 へアクセスすると以下のような画面が表示されていると思います。これにて Python の Web アプリの起動完了です!

 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000 (Press CTRL+C to quit)
127.0.0.1 - - [04/Jul/2022 22:38:42] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [04/Jul/2022 22:38:42] "GET /favicon.ico HTTP/1.1" 404 -

サンプルコードについて、作成から実際に動作確認まで行ってみましたが、とても簡単に準備・実行まで行えました!

これなら挫折せずに Python でも Web アプリをどんどん作っていきそうですね!

まとめ

今回は Python で Web アプリをシンプルかつ簡単に作成することをサポートする OSS フレームワーク「Flask」を紹介しました。

事前準備も Flask を導入するだけですので簡単に完了しますし、起動も凝った操作をせずに flask run コマンドで一発で起動まで行えました!

今回紹介したのは Flask のほんの一部で、使い方次第でもっと面白く複雑で高機能な Web アプリを簡単に作成することもできます。

Flask は公式ドキュメントも豊富で、こちらを見ながらより高度な Web アプリを作成していただければと思います!

flask.palletsprojects.com

Flask で作成され、実際にローンチされた Web アプリもたくさんあるので、Python を使用して Web アプリを作成する際には、フレームワークの 1 つとして候補に挙げて検討してみるのはいかがでしょうか?

とてもシンプルで使いやすいので、きっとサクサクアプリを作成できると思います!

ライセンス

BSD 3-Clause "New" or "Revised" License

リンク

flask.palletsprojects.com

github.com