You’ve probably heard of Node-RED. You know, that super awesome, browser-based, draw-the-flows and connect-the-nodes tool for integrating IoT devices with applications? Yeah, that one.

Maybe you’ve considered using it, maybe not. In this post, I’ll show you the top five reasons you should be using Node-RED in your applications. Right now.

 

#1 – Built on a battle-tested technology stack

Node.js

At the core of Node-RED is Node.js, which (as you know) is a JavaScript runtime that boasts the largest ecosystem of open source components in the universe (okay, I added that last part, but it is the largest on Earth). So it’s mature, has an active community, and LOTS of people are using it.

Because it’s mature, and used so heavily, you can trust it to work. But don’t take my word for it. Ask PayPal. Or Netflix. Or Wal Mart (I could go on).

JavaScript

Okay, so Node.js means JavaScript, right? Sure, but that’s not a bad thing. Love it or hate it, JavaScript has been around FOREVER and, let’s face it, isn’t going anywhere.

I’ve used it (reluctantly at first, I admit), but despite its quirks, it works. Plus, it’s easy to learn and use, and it’s powerful. There are lots of reasons (click here for five) to use JavaScript.

Web Browsers

Is Web Browser technically part of a technology stack? I dunno, maybe I’m taking creative liberties here. But I do so to make this point: writing GUIs is tough (especially good ones like the ones you and I write).

When you can combine a little markup (HTML/CSS), with a little code (JavaScript), and a dash of metadata (JSON) and get a really sharp looking User Interface, that’s worth mentioning.

Oh, and web browsers are ubiquitous. You like Safari? Great! Firefox? Awesome! Chromium? Opera? All are welcome (sigh, even you, Chrome).

#2 – JSON – way better than XML

What’s wrong with XML?

I’m no fan of XML. XML is incredibly flexible, powerful, and expressive, but I don’t like XML because it can be so easily twisted and contorted into a huge steaming pile of hard-to-read application metadata.

When an application developer has fallen prey to the “let’s describe ALL our metadata in XML!” there is no talking them out of it. They are spellbound. Determined to turn the application configuration into a tangled mess (usually right before they leave the team, or worse, the company).

Better metadata

Node-RED uses JSON (that’s JavaScript Object Notation to all you CxO types) to describe its metadata. No XML here. Can JSON be perverted? Sure, but IMHO not as easily, and is just plain easier to read than XML.

#3 – Visualize the (network) edge

Flow-based programming is cool

What the heck is “flow-based programming?” Only a super cool way to visualize an application’s functionality. Created in the 1970s by J. Paul Morrison for a Canadian bank, Flow-Based Programming (FBP) is a different way of thinking about programming that breaks the problem up into data, processes that operate on that data, and the network that connects processes together.

Processes are grouped together in a flow in order to accomplish an objective. Similarly, flows can be logically grouped together to accomplish higher-order objectives, and so on. Data in, data out.

And (no surprise) FBP lends itself well to visual programming. So you can draw code. Yes. Draw. Code. That runs. How cool is that?

Life on the Edge

Ah, the edge of the network. Yep, that’s where a lot of innovation happens. Why? Because that’s where a lot of the data is being created. Huge gobs of it. All the time. Data from sensors, cameras, and GPS data from mobile devices like phones and wearables. And don’t even get me started on all the data from self-driving cars (it’s coming, believe it).

Need to innovate using all that data? Well, my friend, that’s the “edge” and that’s where Node-RED shines.

How? Since Node-RED was designed and built by the IBM Emerging Technology Services team as a way to visualize sending and receiving Message Queue Telemetry Transport (MQTT) messages to and from hardware devices, connecting hardware (and their data streams) to applications is baked into Node-RED’s DNA. If you need to build a prototype to show off your idea, why not use one that was designed for the edge?

#4 – It’s not a toy

So you’ve built a prototype in Node-RED and your customer is impressed. Now what?

Now you build on that prototype to create the finished product of course. But stay in Node-RED! Whether what you need to build is a single new function, a collection of new functionality, or an entire application from browser to database, Node-RED has you covered from prototype to production.

And if you can’t find a component to fit your needs from the thousands that are freely available, you can write your own!

Check out IBM’s Node-RED Starter, for example, that will put you on the path to building some serious functionality.

#5 – Not just for IoT

Node-RED allows you to create functionality by wiring together flows of data between nodes using a browser. And it has gained tremendous popularity in the IoT space, by modeling bits of application functionality between IoT devices like sensors, cameras, and wireless routers.

But it’s so much more than an IoT technology (if you’re feeling creative). There are BAJILLIONS of ready-made nodes from flows.nodered.org. Don’t like those? Code your own!

The point is, a node is a block of code that can do pretty much whatever you want. Need to read in some data from Twitter? Check. Need to bump that tweet against a sentiment matcher to see if the tweet is happy/sad/indifferent? Check. Need to read in data from a web form? Check. Execute a serverless function running in OpenWhisk? Check.

You get my point. It’s SUPER flexible. And powerful.

 

What’s next?

Save

Save

4 comments on"The top five reasons you should be using Node-RED right now!"

  1. Flow based programming, first class Javascript functions, viable, modifiable, adaptable, and runnable. And most importantly Node-RED – is easy!

  2. IoT is opening a vast scope of possibilities. And with integrations like Node Red, it is becoming even hot.

  3. Node-red is easy

  4. Thank you very much for an informative and useful post. I work in a Leading Software Development Company ( https://softwaredevelopment.ae/ )and can say with utterance that our developers are using Node-RED .

Join The Discussion

Your email address will not be published. Required fields are marked *