【超入門】Python Streamlit(ストリームリット)とは何かを初心者向けに徹底解説!

Python

本記事では、PythonのStreamlit(ストリームリット)を完全初心者の方にも分かるように解説します。

まずはじめに、Streamlitの概要を超ざっくりとまとめると、

Streamlitとは?(超ざっくり)
  • PythonだけでWebアプリを開発できるフレームワーク
  • HTML、CSSを使わないでキレイな画面を作れる
  • リアルタイムでデータやグラフを更新できる

このように、簡単に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アプリが動いている状態となります。

「localhost」というのは自分のPCを指す特別な名前です。ふだんネットを使うのと同じようにブラウザが立ち上がりますが、あくまで自分のPCの中だけで動作しています。

他の人にも公開するならクラウド上にデプロイが必要!

ローカル環境ではなく、Web上に公開したい場合には「デプロイ」が必要です。

「デプロイ」とは、ネット上のどこかしらにWebアプリを配置して、他の人が使えるようにする操作です。

デプロイ先のサーバーには、いくつか種類がありますが、無料かつ一番簡単なのは

Streamlit Cloud

です。Streamlitの提供しているクラウド型公開サービスで、自身のGithubリポジトリにあるコードをStreamlit Cloudと連携することで簡単にWeb上にアプリを公開できます。

もちろん、AWSやHeroku、Google Cloud Platform(GCP)、Microsoft Azureなどへのデプロイも可能です。

Streamlitの良い点・悪い点

Streamlitの良い点は、先述の通り

Streamlitの良い点

Pythonだけで簡単にWebアプリが作れること

です。

Streamlitの欠点は、

Streamlitの良い点

複雑なアプリを作るのには向いていない

という点です。以下に具体的な欠点をまとめます。

  • 大規模で機能が多いアプリ(例: ECサイトやSNS)を作るのには不向き
  • デザインの自由度が低く、フォントの変更や細かい配置調整が難しい
  • Streamlitだけではデータベースを持てない
  • チャットやゲームには不向き(アプリ全体が再実行されるため)

Streamlitはこんなアプリ作成におすすめ!

そのため、Streamlitは、

Streamlitはこんなアプリ作成におすすめ!
  • グラフや表でデータの可視化(売上管理表、顧客データ可視化など)
  • データ入力フォーム(住宅ローンのシミュレーター、株管理アプリなど)
  • 機械学習モデルのアプリ(AIによる画像判定、テキスト分析など)
  • 簡単なプロトタイプやデモアプリ

など、データの可視化やインタラクティブなツール、簡易的なWebアプリを作成するのに適しています。

まとめ

今回は、PythonのStreamlit(ストリームリット)について解説しました。

StreamlitはPythonだけで簡単にWebアプリが作れるフレームワーク

であり、Webアプリ開発未経験の方が初めて作る際や、他の人と共有するアプリを短時間でパパっと作りたい場合におすすめです。

HTML、CSSの知識が不要で、簡単に画面が作れてリアルタイムでグラフや表を表示できます。

ただし、複雑なアプリや画面まわりを細部までこだわったアプリを作りたい場合には不向きです。

次回記事では、Streamlitを用いて簡単なWebアプリを作る手順を紹介できたらと思います!

▼関連記事

chaso

文系出身、数字が苦手な平凡主婦。塾講師、大手企業SE、不動産事務、Webライター、結婚後はパートタイムでエンジニアをしています。機械音痴だけど効率化や自動化をこよなく愛しています!お仕事の依頼・ご相談は問い合わせよりお願いいたします♪

chasoをフォローする

コメント

タイトルとURLをコピーしました