streamlitでwebアプリを作成して、それをMarp(Markdown記法でスライドが作成できるもの)で発表しましたので、mdの中身をコピペしてブログにしました。
※Streamlitの使い方、ではなくてStreamlitとは何か、という概念についての話がほとんどです。
① 内容の概要
- StreamlitはPythonだけで簡単にWebアプリケーションが作れるフレームワーク
- 主にデータ分析者や機械学習エンジニアが、分析結果を共有するために使う
- コードを変更すれば、リアルタイムでアプリが更新される
- GUI(ボタン、スライダーなど)も直感的に追加できる
② 使われている技術
- Python:シンプルでデータ処理に強い言語
- WebベースUI:HTML/CSS/JavaScriptの知識がなくても、内部で自動生成
- 再実行ベースのレンダリングモデル:コードの上から下まで再実行して状態を更新
③ なぜ気になったのか
- Pythonしか使えなくても、本格的なWebアプリが作れることに驚いた
- 従来のWeb開発に比べて「とっつきやすさ」が桁違い
- 「デプロイ」や「共有」もボタン一つでできるのが便利
④ 考察
- Streamlitは「誰でも作れるWebアプリ」を実現した革新的な技術
- フルスタック開発と比べると自由度は低いが、用途が明確なら最適
- データ分析 → ビジュアライズ → 共有までの流れが高速
- 他のツール(Flask/Django)よりも圧倒的に学習コストが低い
※フルスタック開発=「Webシステムのすべての層(スタック)を1人または1チームで開発・運用すること」
・フロントエンド(見た目、UI)
・バックエンド(データ処理、API)
・データベース(保存)
・サーバー/インフラ(デプロイ、セキュリティ)
⑤ その他(伝えたいこと)
-
無料のホスティング(Streamlit Community Cloud)で即共有できる
→通常、デプロイするには、RenderやGithub Pagesなどのホスティングサービスにアップロードする必要があるが、Streamlitではそれを別に用意しなくても簡単にデプロイできる。 - グラフ(PlotlyやMatplotlib)、地図、画像なども簡単に表示可能
Streamlitのwebアプリのソースコード(Github)
https://github.com/sava110/Streamlit-app.git