Node-RED是一种基于流程的编程工具,由IBM的新兴技术服务团队原创开发,现在归属于JS 基金会。
流程化编程模式最初是由J. Paul Morrison在20世纪70年代发明的,它将程序的行为表示为一个由黑箱组成的网络,也就是我们在Node-RED中所说的“节点”。每个节点都有其明确的功能目标,为此,我们要向它提供数据,由它对数据进行处理,并将结果发送出去。而网络则负责控制数据在节点间的流动。
如果把它以视觉化模型的形式表示,那么就能被更大范围的用户所接受和理解。只要我们能将问题分解为多个单独的步骤,那么就可以将其表示为流程化模型。这样,即便对各个节点内部的代码不了解,也能对问题的处理过程有个直观的把握。
Node-RED由基于Node.js的运行时环境组成,当你将Web浏览器指向它时,就可以访问到流程编辑器。在浏览器中,我们以拖拽和连线的方式创建应用程序,也就是将所需的节点从面板拖拽到工作区中,然后用连线将它们连接到一起。然后通过一键部署方式,我们又将开发好的应用部署到运行时中,在那里它被运行起来。
利用社区开发的新类型节点,可以很容易地对节点面板进行扩展,同时,用户所创建的流程也很容易以JSON文件形式分享。
Node-RED诞生于2013年,其开发者为IBM新兴技术服务组的Nick O’Leary和Dave Conway-Jones,当初仅仅是两个人的副业项目。
最初的开发目的是为了从概念上验证MQTT主题间映射的视觉化表示和处理方式,但很快地,就变成了一个非常通用的开发工具,而且很容易地扩展到了其他应用领域。
2013年9月起,Node-RED就成为开源项目,并且一直以开放的方式进行开发,最终在2016年10月,成为了JS基金会资助的项目。
更多细节参见: