
Node-RED 是基于流的编程模型 – 表示事件在节点之间流动的消息,触发导致输出的处理。基于流的编程模型很好地映射到典型的物联网应用程序,其特点是现实世界的事件触发某种处理,进而导致现实世界的操作。Node-RED 将这些事件打包为消息,当事件在组成流的节点之间流动时,这些消息为事件提供简单且统一的模型。 预置建节点集是 Node-RED 另外一个特点,通过构建一组强大的输入和输出节点(每个节点都隐藏了与现实世界交互的大部分复杂性),Node-RED 为开发人员提供了强大的构建块,使他们能够快速组合完成大量工作的流程,而无需担心编程细节。
复杂的多功能物联网应用。Node-RED 擅长快速应用程序开发,并且擅长充当连接事件与操作、或传感器与执行器(如果您愿意)的粘合剂。然而,当应用程序超过一定大小时,通过 Node-RED 进行可视化编程和管理就会变得复杂。有一些功能可以帮助解决这个问题,例如子流程,但最终 UI 成为瓶颈。 基于流的编程是一种并不总是最适合应用程序开发的编程模型。就像某些编程语言在某些任务上表现出色但在其他任务上表现不佳一样,基于流的编程也有其弱点。循环就是一个很好的例子:Node-RED 在处理循环时很麻烦。 具体用例。基于流的编程是一种通用模型,并未针对特定需求(例如数据分析或用户界面开发)进行针对性或优化。目前,Node-RED 没有对这些类型的应用程序的具体支持,也没有简单的方法来添加此类支持。显然,由于 Node-RED 的底层技术是 JavaScript,因此您可以利用其功能来满足这些需求。如果想要使用 Node-RED 进行原型设计,一种方法是用另一种更适合您任务的语言实现部分或全部应用程序,并使用 Node-RED 进行整体控制。