NoFlo

林一二2023年07月15日 16:43

Github 上过 KickStarter

可以序列化为纯文本,例如通过流程实现Jekyll博客系统的例子,适合嵌入太微这类笔记应用让太微更加智能

也支持子图,需要调研是否支持递归调用。

目前已停止开发,但是 MIT 协议可以拿来修改,而且有浏览器执行引擎,方便嵌入游戏平台和游戏。

最后我决定还是不使用它,改用Flyde。因为 NoFlo 模块比较分散,接入需要了解很多分散的知识和代码,但已经没人为这个项目及时答疑了。而且 UI 中比较强调节点图标,而非节点名和端口,导致不是很好拖线

组件分发

通过 npm 装,官方提供 noflo-filesystemnoflo-core 两个组件包

编辑器

底层的编辑器UI组件是flowhub/the-graph,它产出DSL,然后可以被无头的 noflo 包加载执行。

它又被noflo/noflo-ui使用,做了一个基本的编辑器。

界面的例子 the-graph/demo-full

设计风格

来自meemoo/dataflow/issues#53里的讨论,弃用了传统的 UE 蓝图的风格,以便在移动端更好操作。但缺点是得点开节点才能操作widget,不像UE蓝图风格可以把开关等各种小组件直接放在节点上。

运行时

把 npm 包 noflo 加入项目,然后正常用 webpack 等打包,就可以在浏览器上使用其 API 来运行了。不过看noflo/noflo-browser好像还有 noflo-runtime 等包待调研。

组件也不是直接在浏览器上就能用,需要参考 noflo-component-loader npm 包加载和转换它们。

AI生成

使用 DSL 定义的图其实可以用语言模型来生成

# In the graph we first need to define the nodes and the connections between them
Read(filesystem/ReadFile) OUT -> IN Display(core/Output)

# Start off the graph by sending a filename to the file reader
'package.json' -> IN Read

相关博客

A system brought to life - noflo

bergie

Code
[ext[Github|https://github.com/noflo]] 上过 [ext[KickStarter|https://www.kickstarter.com/projects/noflo/noflo-development-environment]]

可以序列化为纯文本,例如[ext[通过流程实现Jekyll博客系统的例子|https://github.com/noflo/noflo-jekyll/tree/master/graphs]],适合嵌入太微这类笔记应用[[让太微更加智能]]。

也支持子图,需要调研是否支持递归调用。

目前已停止开发,但是 MIT 协议可以拿来修改,而且有浏览器执行引擎,方便嵌入游戏平台和游戏。

最后我决定还是不使用它,改用[[Flyde]]。因为 NoFlo 模块比较分散,接入需要了解很多分散的知识和代码,但已经没人为这个项目及时答疑了。而且 UI 中比较强调节点图标,而非节点名和端口,导致不是很好拖线

!!! 组件分发

通过 npm 装,官方提供 `noflo-filesystem` 和 `noflo-core` 两个组件包

!!! 编辑器

底层的编辑器UI组件是[ext[flowhub/the-graph|https://github.com/flowhub/the-graph]],它产出DSL,然后可以被无头的 noflo 包加载执行。

它又被[ext[noflo/noflo-ui|https://github.com/noflo/noflo-ui]]使用,做了一个基本的编辑器。

[[界面的例子 the-graph/demo-full|https://flowhub.github.io/the-graph/demo-full.html]]

!!!! 设计风格

来自[[meemoo/dataflow/issues#53|https://github.com/meemoo/dataflow/issues/53]]里的讨论,弃用了传统的 UE 蓝图的风格,以便在移动端更好操作。但缺点是得点开节点才能操作widget,不像UE蓝图风格可以把开关等各种小组件直接放在节点上。

!!! 运行时

把 npm 包 `noflo` 加入项目,然后正常用 webpack 等打包,就可以在浏览器上使用其 API 来运行了。不过看[ext[noflo/noflo-browser|https://github.com/noflo/noflo-browser]]好像还有 `noflo-runtime` 等包待调研。

组件也不是直接在浏览器上就能用,需要参考 `noflo-component-loader` npm 包加载和转换它们。

!!! AI生成

使用 DSL 定义的图其实可以用语言模型来生成

```py
# In the graph we first need to define the nodes and the connections between them
Read(filesystem/ReadFile) OUT -> IN Display(core/Output)

# Start off the graph by sending a filename to the file reader
'package.json' -> IN Read
```
!! 相关博客

[ext[A system brought to life - noflo|https://blog.kodigy.com/tags/noflo/]]

[ext[bergie|https://bergie.iki.fi/blog/category/fbp/]]