H2O Wave 是否包含反应式编程模型?

Does H2O Wave include reactive programming model?

如果 H2O Wave 为 Python 做了 Shiny 为 R 做的事情,那么 Wave 是否支持反应式编程是一个合乎逻辑的问题?查看文档我发现 Data Binding (it appears one-way) and Realtime Sync(非常酷),但没有明确的参考或指示反应式编程或双向绑定(不幸的是文档似乎还缺少搜索功能)。

作者在这里。我们正在考虑中(https://github.com/h2oai/wave/issues/170)。

响应式编程(和一般的 FRP)改进了语言的人体工程学,更好地支持闭包/匿名函数(如 R)。 Python 的 lambda 仅限于一个表达式,因此对事件(甚至 map 双向绑定转换函数)的“反应”会导致调用站点显得嘈杂 and/or 冗长,因为定义命名函数是不可避免的。

因此,我们决定暂时不对事件处理和状态管理进行规定,而是专注于提供一个我们可以在未来构建的良好基础。在任何情况下,Python 驱动程序都很薄,在用户空间中构建自己的用于状态管理(甚至路由)的反应原语应该不会太难。

其次,在没有粘性会话的情况下,让反应式编程范例在分布式多工作场景中正常运行是很棘手的(例如,两台不同机器上的两个 Python 进程可能需要 UI状态)。我们需要在后端进行一些额外的工作,并首先发布多工作程序。

总而言之:不排除,我们最终会到达那里。