繁體中文
English 简体中文 繁體中文
Methodox 首頁

Divooka Notebook

型別: Web 應用程式框架
包: Divooka.Application.Notebook.Framework(Notebook 工具箱),位於 Divooka Compute 的 Web Development 工作負載中
上下文: 過程式(實現 Notebook Application 的 Events 圖),由 Function 圖響應其儲存格
設計: RFC 284
狀態: 0.2 版,即改版版本。隨 Divooka Compute 提供;Divooka Explore 中沒有。

Divooka Notebook 把 Divooka 文件變成供他人使用的網頁。文件負責頁面佈局——一個滑塊、一個文字方塊、幾段文字、一張表格——每個輸入都由文件自己的某個函式來響應:更改輸入時,就會用新值呼叫該函式,函式的返回結果顯示在輸入下方。它的形態與 Streamlit 相同,只不過計算部分用 Divooka 而不是 Python 編寫。

它不是 IDE:Divooka Compute 才是 IDE。筆記本是你交給某個人的東西,對方只需移動滑塊、檢視結果,而不必看到圖——可以是同事、客戶或一個班級。

使用方式

步驟 位置 發生什麼
製作 Divooka Compute 一個 Events 圖實現 Notebook Application 的 Build:它為站點命名、開啟頁面並新增儲存格,每個輸入都指定響應它的 Function 圖。
試用 Divooka Compute Run 在本機上提供該筆記本服務,並在瀏覽器中開啟它。修改圖,再次執行,再看一遍。Stop 結束服務。
共享 dvn dvn "My Notebook.dvk" 0.0.0.0:5080 以編譯方式向你的區域網提供該筆記本,直到按下 Ctrl+C。

功能

  • 每位存取者獨享一份文件。 每次載入頁面都會得到一個獨立的文件例項。同一次存取中的儲存格共享該例項的資料成員——一個儲存格的函式可以儲存另一個儲存格讀取的內容——而使用同一個筆記本的兩位同事永遠看不到對方的值。
  • 輸入。 滑塊、數字、文字方塊和文字區域、選項、核取方塊和開關、日期、按鈕、檔案上傳,以及一次把多個欄位交給一個函式的輸入組。
  • 輸出由函式的返回值決定。 文字、Markdown、HTML、程式碼、圖片、下載、表格和圖表。Divooka 影像按原樣顯示為圖片;表格或一串數字以資料形式到達,檢視者可以把它看作表格,或看作折線圖、散點圖、柱狀圖或直方圖;來自 Plotting 工具箱的圖形以互動方式繪製,按一下一下即可檢視 Divooka 自己渲染的版本。
  • 頁面。 側邊欄列出各個頁面,每個頁面對應筆記本的一項功能。
  • 只讀與啟用。 頁面、儲存格或整個站點都可以設為只讀,顯示根據初始值計算出的結果。函式在響應時可以啟用或禁用其他輸入。
  • 一次共享,人人可用。 所有存取者應共享的內容——一張大表格、一個模型——在站點啟動時載入一次,並用 Set Shared 儲存。
  • 淺色與深色,桌面與手機。 頁面會跟隨檢視者的主題,並且在手機寬度下也能使用。

頁面

  • 入門:在 Divooka Compute 中製作第一個筆記本,執行並在瀏覽器中開啟。
  • 概念:站點、頁面和儲存格,響應它們的函式,作為例項的會話,共享值,輸出及其繪製方式。
  • 託管:在 Compute 中執行、dvn、為區域網提供服務、只讀站點以及檢查模式。
  • 參考:Notebook 工具箱中的每個節點,以及每種返回值會變成什麼。
  • 開發:用 C# 編寫的筆記本、嵌入伺服器、通訊協議以及從原始碼構建。

參考資料

  • RFC 284 - Framework - Divooka Notebook,設計文件(未公開)。
  • 示例:Divooka Compute 示例中的 Web Development / A Notebook。