本記事では、PythonのStreamlit(ストリームリット)を完全初心者の方にも分かるように解説します。
まずはじめに、Streamlitの概要を超ざっくりとまとめると、
このように、簡単にWebアプリを作ることができるので、Webアプリを作ったことがない方や簡易的なWebアプリを作りたい方におすすめなフレームワークです。
Streamlit(ストリームリット)の特徴
PythonでWebアプリを開発する際、Streamlit以外にもDjango、Flask、FastAPIなど様々なフレームワークが存在します。
そのなかで、なぜ初心者にStreamlitがおすすめかを以下で説明します。
HTMLやCSSを使わない&サーバーを用意せず作れる
Streamlitは、Webアプリの画面を作るのに必要な、HTMLやCSSなどの知識がなくても作ることができます。
普通、Webアプリを作るとなると、
- ユーザーが操作する画面を作る(HTML、CSS、JavaScript)
- データを登録するためのデータベースを作る
などが必要となりますが、StreamlitではPythonだけでWebアプリが作れます。
でもその場合、ネット上にWebアプリを公開したり、データを保管するの・・・!?
↑これについては以降で解説しますね!
ローカル環境(自分のPC上)ではサーバー構築不要!
「PythonだけでWebアプリを作れる」というのは、ローカル環境(自分のPC上)で動かす場合になります。
自分のPCにStreamlitをインストールすると、Streamlitが自動で小さなWebサーバを立ち上げてくれる仕組みとなっています。Pythonコードを実行すると、
http://localhost:8501/
上記URLがブラウザで開き、自分のPC上でWebアプリが動いている状態となります。
他の人にも公開するならクラウド上にデプロイが必要!
ローカル環境ではなく、Web上に公開したい場合には「デプロイ」が必要です。
「デプロイ」とは、ネット上のどこかしらにWebアプリを配置して、他の人が使えるようにする操作です。
デプロイ先のサーバーには、いくつか種類がありますが、無料かつ一番簡単なのは
Streamlit Cloud
です。Streamlitの提供しているクラウド型公開サービスで、自身のGithubリポジトリにあるコードをStreamlit Cloudと連携することで簡単にWeb上にアプリを公開できます。
もちろん、AWSやHeroku、Google Cloud Platform(GCP)、Microsoft Azureなどへのデプロイも可能です。
Streamlitの良い点・悪い点
Streamlitの良い点は、先述の通り
です。
Streamlitの欠点は、
という点です。以下に具体的な欠点をまとめます。
- 大規模で機能が多いアプリ(例: ECサイトやSNS)を作るのには不向き
- デザインの自由度が低く、フォントの変更や細かい配置調整が難しい
- Streamlitだけではデータベースを持てない
- チャットやゲームには不向き(アプリ全体が再実行されるため)
Streamlitはこんなアプリ作成におすすめ!
そのため、Streamlitは、
など、データの可視化やインタラクティブなツール、簡易的なWebアプリを作成するのに適しています。
まとめ
今回は、PythonのStreamlit(ストリームリット)について解説しました。
StreamlitはPythonだけで簡単にWebアプリが作れるフレームワーク
であり、Webアプリ開発未経験の方が初めて作る際や、他の人と共有するアプリを短時間でパパっと作りたい場合におすすめです。
HTML、CSSの知識が不要で、簡単に画面が作れてリアルタイムでグラフや表を表示できます。
ただし、複雑なアプリや画面まわりを細部までこだわったアプリを作りたい場合には不向きです。
次回記事では、Streamlitを用いて簡単なWebアプリを作る手順を紹介できたらと思います!
▼関連記事
コメント