Node-RED es una herramienta de programación basada en flujos desarrollada originalmente por el equipo de Servicios de Tecnología Emergente de IBM y que ahora forma parte de la Fundación OpenJS.
Flow-based programming
Inventada por J. Paul Morrison en los años 70, la programación basada en flujos es un método para describir el comportamiento de una aplicación como una red de cajas negras, o "nodos" en Node-RED. Cada nodo tiene un propósito claro; se le dan unos datos, hace algo con esos datos, y esos datos se le pasan. La red es responsable del flujo de datos entre nodos.
Es un modelo que se adapta bien a la representación visual y es más accesible para una gama más amplia de usuarios. Si alguien puede descomponer el problema en pasos discretos, puede mirar el flujo y entender lo que está haciendo; no hay necesidad de entender las líneas individuales de código en cada nodo.

Runtime/editor
Node-RED includes a Node.js-based runtime that you point your web browser to to access the flow editor. In the browser, create your application by dragging nodes from the palette to the workspace and starting connecting them together. With a single click, you can deploy your application back to the runtime it was running on.
La paleta de nodos puede ampliarse fácilmente instalando nuevos nodos creados por la comunidad, y los flujos que crees pueden compartirse fácilmente como archivos JSON.
History
Node-RED comenzó a principios de 2013 como un proyecto paralelo de Nick O'Leary y Dave Conway-Jones en el Grupo de Servicios de Tecnología Emergente de IBM.
Lo que comenzó como una prueba de concepto para visualizar y manipular mapeos entre temas MQTT se convirtió rápidamente en una herramienta más general que puede ampliarse fácilmente en cualquier dirección.
Se abrió en septiembre de 2013 y ha estado en desarrollo público desde entonces, convirtiéndose finalmente en uno de los proyectos fundadores de la Fundación JS en octubre de 2016.
En 2019, la Fundación Node.js se fusionó con la Fundación JS para formar la Fundación OpenJS.
Why is it called Node-RED? The name is a light-hearted play on a word that sounds like “Code Red.” It stuck and was a huge improvement on anything called it in the first few days. The “Node” part reflects the stream/node programming model and the underlying Node.JS runtime. We never came to a conclusion as to what the “red” part represented. “Quick Event Developer” was a suggestion, but we never felt the need to formalize anything. We stick with “Node-RED”.


