简体中文
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。