1. 先理解整體架構
當你看到一個 Streamlit 網頁 App(例如部署在 Streamlit Community Cloud),其實背後流程是:
使用者瀏覽器簡單說:
│
│ HTTP Request
▼
Streamlit Server (雲端)
│
│ 讀取
▼
GitHub Repository
│
│ Python 程式
▼
Streamlit Runtime
│
▼
生成 Web UI
GitHub = 程式碼倉庫
Streamlit = UI框架 + Web Server
Cloud = 執行環境
2. 整個流程怎麼實現
假設你要做一個 資料分析 Web App
Step1:寫一個 Streamlit Python 程式
例如:
import streamlit as st
import pandas as pd
st.title("My Data App")
file = st.file_uploader("Upload CSV")
if file:
df = pd.read_csv(file)
st.write(df)
Streamlit 做了幾件事:
1️⃣ 建立 Web Server
2️⃣ 把 Python UI 轉成 HTML
3️⃣ 用 WebSocket 與前端同步
3. 把程式放到 GitHub
例如:
Repository
my-streamlit-app
│
├── app.py
├── requirements.txt
requirements.txt
streamlit
pandas
GitHub 只是 存放程式碼
常用平台:
- GitHub
- GitLab
4. Streamlit Cloud 連動 GitHub
當你在
Streamlit Community Cloud

建立 App 時
你會:
1️⃣ 登入 GitHub
2️⃣ 選擇 repo
3️⃣ 選擇 app.py
Streamlit 會做:
Clone GitHub Repo
↓
建立 Python Environment
↓
pip install requirements.txt
↓
執行 streamlit run app.py
↓
建立 Web Server
所以 GitHub 其實只是程式來源
5. 真正的底層邏輯
很多人以為 Streamlit 是把 Python 轉 HTML
其實不是。
它是:
Python Backend
+
React Frontend
+
WebSocket Sync
架構:
Browser
│
│ WebSocket
▼
Streamlit Server
│
▼
Python Script
核心技術:
技術用途Python寫程式ReactUIWebSocket即時同步TornadoWeb server













