Click to close

Flow Based Programming

Screencasts presenting Flow Based Programming (FBP) and its influence on Node-RED.

I describe a personal journey from Unix pipes to Node-RED to understanding FBP. Presented are some learnings and understanding gained along that journey.

Please note: These screencasts are not for folks new to Node-RED, if you are looking for an introduction to Node-RED, then check out my blog for a bunch of articles on learning Node-RED.

Episode 1: Introduction to FBP

Introducing the Flow Based Programming (FBP) paradigm which provides the inspiration for Node-RED. This episode describes the features of FBP and its application in creating a conveyor belt of filling soft drink bottles.


Episode 2: Classical FBP versus FBP Inspired

Node-RED is a Flow Based Programming inspired tool not a classical FBP. This episode discusses some difference between classical (or real) FBP and inspired FBP.

Three differences discussed:


Episode 3: Unix Pipes

Unix pipes provide a mechanism for combining functionality of multiple commands. This episode discusses the internals of Unix pipes and presents the advantages: independence of functionality, well-defined interfaces, clear definition of responsibilities. Downside is that many commands and their options need to be understood for Unix pipes to be able to provide complex functionality.


Episode 4: Yahoo! Pipes

Yahoo! Pipes was a web-based visual tool that was inspired by Unix pipes and hence Flow Based Programming. Created in the early-2000s, it was my first contact with visual FBP and had a much influence on me. This episode describes how Yahoo! Pipes helped me to discover Node-RED.


Episode 5: Terminology

Even though Unix pipes, Yahoo! Pipes and Node-RED are all inspired by FBP, each uses their own terminology. This episode attempts to draw parallels between the various concepts and terms.



Episode 6: Programming Paradigms

How do other programming paradigms influence Node-RED? Flow Based Programming can be considered just another programming paradigm amongst many: Object Oriented Programming, List Processing Programming, Functional Programming and Logic Programming. How can these be emulated using Node-RED?


Episode 7: Events and Parallelisation

Node-RED can be considered to be visual event driven programming environment which provides easy task parallelisation! This episode discusses the event driven programming model and its equivalent in Node-RED.


Episode 8: Gotchas

What makes Flow Based Programming difficult? Discussed are five core gotchas that I experienced:


Episode 9: Node-RED Use Cases

The final episode describes use cases outside of the IIoT or home automation for which Node-RED is famous for. I describe creating this blog using Node-RED, creating my Mind-Map using Node-RED and in turn, my Mind-Map is a program!


Last updated: 2024-05-03T07:59:14.413Z

Comments powered by giscus

The author is available for Node-RED development and consultancy.