Node-RED 是一种基于流的编程工具,最初由IBM 的新兴技术服务 团队开发,现在是OpenJS 基金会的一部分。
基于流的编程
由 J. Paul Morrison 在 1970 年代发明的基于流的编程 是一种将应用程序的行为描述为黑盒网络的方法,或者在 Node-RED 中称为“节点”。每个节点都有明确的用途;它被赋予了一些数据,它对这些数据做一些事情,然后将这些数据传递给它。网络负责节点之间的数据流。
它是一种非常适合视觉表示的模型,并且更容易被更广泛的用户访问。如果有人可以将问题分解为离散的步骤,他们可以查看流程并了解它在做什么;无需了解每个节点中的各个代码行。
运行时/编辑器
Node-RED 包含一个基于 Node.js 的运行时,您将 Web 浏览器指向该运行时以访问流编辑器。在浏览器中,通过将节点从调色板拖到工作区并开始将它们连接在一起来创建应用程序。只需单击一下,即可将应用程序部署回运行它的运行时。
通过安装由社区创建的新节点,可以轻松扩展节点选项板,并且您创建的流可以轻松共享为 JSON 文件。
历史
Node-RED 于 2013 年初作为 IBM 新兴技术服务组的 Nick O'Leary 和 Dave Conway-Jones 的一个副项目开始使用。
最初是用于可视化和操作 MQTT 主题之间的映射的概念验证,很快就变成了一种更通用的工具,可以轻松地向任何方向扩展。
它于 2013 年 9 月开源,此后一直在公开开发,最终成为 2016 年 10 月 JS 基金会的创始项目之一。
2019 年,Node.js 基金会与 JS 基金会合并,成立了 OpenJS 基金会。
为什么叫 Node-RED?这个名字是对听起来像“红色代码”的单词的轻松玩弄。它卡住了,并且在最初几天被称为任何东西都有很大的改进。“节点”部分反映了流/节点编程模型以及底层 Node.JS 运行时。我们从未就“红色”部分代表什么得出结论。“快速事件开发者”是一个建议,但我们从来没有觉得有必要将任何事情正式化。我们坚持使用“Node-RED”。