iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
佛心分享-SideProject30

用 Golang 實作 streamlit 系列

製作一個 Golang Package ,提供類似於 streamlit 的功能的介面。

鐵人鍊成 | 共 30 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day1 起因:個人小工具

Streamlit 是一個可以用於快速建立互動式網頁應用的 Python 框架。 我目前在工作中有使用 Streamlit 來開發一些 GUI 小工具,例如:...

2024-08-24 ‧ 由 香草 分享
DAY 2

Day2 Streamlit 的基本運作方式

要做到 Streamlit 的功能,至少要考慮以下兩種機制: 當使用者互動,便更新畫面 讓我們看一個簡單的例子:使用者輸入名字後,立即顯示問候訊息。 impor...

2024-08-25 ‧ 由 香草 分享
DAY 3

Day3 介面的初步想法

Interface 在介面上,我們讓使用者可以註冊自己的 Script Function: func main() { Run(func(root *Cont...

2024-08-26 ‧ 由 香草 分享
DAY 4

Day4 開始寫扣!

First Commit 就讓我們進入寫扣環節。 為了先能有一個可以跑的程式,我做出以下限制: 無互動 (State 不需要實作,不會需要 rerun 按鈕)...

2024-08-27 ‧ 由 香草 分享
DAY 5

Day5 讓 Container 也是 Component

接下來,假如我們讓 Container 也可以是 Component ,那就意味著這兩件事都可以達成: 樹狀結構 預留位置 樹狀結構不用多說,就是 Cont...

2024-08-28 ‧ 由 香草 分享
DAY 6

Day6 Rerun 按鈕 / Bulma CSS / 搬出 JS

雜項 在進行增加 State 功能前,先一些有點雜,但又有點必要的事情: 追加 Rerun Button 讓使用者可以再次更新畫面。 Script functi...

2024-08-29 ‧ 由 香草 分享
DAY 7

Day7 Project Layout

Need 基本上的需要已經大概摸索出來了,考慮到之後的發展性,直接一個沒有結構的 repo 顯然是不行的,我們至少需要規畫: Binary 目前可以擺放 exa...

2024-08-30 ‧ 由 香草 分享
DAY 8

Day8 State/StateTable

Introduction 接下來,我們需要考慮到 狀態(state) 這個概念。在 Streamlit 中,許多之後要時做的 Component(例如Butto...

2024-08-31 ‧ 由 香草 分享
DAY 9

Day9 溝通 Button 狀態

接下來,我們將探討如何實作前端與後端之間在 Button 狀態上的溝通。 紅色部分是今天會變動的地方。 前端:按下按鈕觸發狀態更新 當使用者按下前端的 But...

2024-09-01 ‧ 由 香草 分享
DAY 10

Day10: Textbox/Client's State

有了 Button 的實作,對於 Textbox 也可以清楚的實作了。 不過,在和 Button 不同的是,我們在 client 端會需要維護一個 state...

2024-09-02 ‧ 由 香草 分享