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.
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.
Links:
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:
Links:
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.
Links:
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.
Links:
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.
Correction:
Links:
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?
Links:
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.
Links:
What makes Flow Based Programming difficult? Discussed are five core gotchas that I experienced:
Links:
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!
Links: