Can I use NodeRed for robust web applications?

Hello everyone, I have a software house and I am studying technologies and forms of development, to accelerate and improve the production of our software.
I came across the idea of NodeRed (Visual programming) with a very rich ecosystem and I was excited. However, I would like to know if it is a good idea to produce robust web applications (not IoT) using NodeRed resources.

If so, how is the application performing? is the generated code "clean"?
Again, if so, where can I find more information about the development of the NodeRed kernel? (there is still no official documentation in the "documentation" tab.

Thank you!!

Hi @CarlosJong,

generally, nothing speaks against using Node-RED for that purpose. But it depends on the specific use-case, of course.

At work, we are using it in production systems (also not IoT, but complex production lines) as one part of our software stack. Mainly for the communication between PLCs and our backend services (those are not driven by Node-RED).
It has been used in several customer projects now, and - compared to the previous solution - we have gained a lot of flexibility.

Application performance is expected to comparable to any other Node-JS application, which runs a single-threaded main event loop.

I'm not sure why you'd want to make changes to the Node-RED core for your use case? :thinking:
But regarding documentation and pointers, I think the core developers could help you with that.

1 Like

When you say robust web applications, can you give a generic example of what you mean? Depending on that, Node-RED might be or not be the best tool for it.

1 Like

Cool Kauema, thank you very much!
In relation to the core, it is not really making changes in itself, but knowing it to know how and why things work. Many thanks for the reply!

Hello Afelix, thanks for the reply.
Robust webs I refer to business applications such as an ERP, usually for building systems of this type, frameworks of some language are used (currently I use Laravel for this type of application), and I asked this question because I was in doubt if when creating one application within NodeRed that has many pages and rules could be unsustainable for maintenance or even performance.
What I forgot to mention was actually, when creating an ERP-like application, will I be able to use all the power of NodeRed to maintain it? And this one will perform as well as I had created it with some framework using code (normal mode)?

I think this may take some unpacking.

A full-fledged ERP is a massive beast and not something that I personally would want to see come across my desk as a Node-RED application (in my day-job as head of architecture for a major public sector health organisation). However, as @kuema mentions, seeing Node-RED as an element in an ERP would be something I'd be delighted to see.

Also, an ERP is more than just a "web application". It will involve significant back-end infrastructure, backup/recovery, load-balancing, identity management, security, etc. Not all of these are easy to do in Node-RED and are very likely to be cheaper and more robust using specialist tooling.

Of course, all of this comes back to your actual use-cases. You will need to take into account commercials and finance, supportability and so-on.

Node-RED is a fantastic tool, great for prototyping, especially for certain types of processing that lend themselves to the message passing flow style of Node-RED. Also for quickly building data-driven user interfaces. It is amazingly stable for general use. All good stuff.

However, it is not without issues. If you ever come across a memory leak even in a simple flow - good luck! In a complex flow, it is likely to be impossible to debug without a serious investment of time and energy from Node.js experts. You may also find yourself relying on contributed nodes from amateurs like myself - talented though we are (:wink:), we possibly don't develop these things professionally and can't provide loads of support hours. Do you want your (or your customers) ERP reliant on us?

Then there is security. While Node-RED has some basic security built in and I believe some organisations have tested it successfully, it certainly isn't hardened. User management is also limited and really requires external additions.

All things to think about.

3 Likes

Hi Carlos,

When you use descriptions like “generated code” and “all the power of Node-RED to maintain it”, as well as comparing it to Laravel, I think you have a slightly wrong idea of how Node-RED works. That doesn’t mean it’s not suited for your plans, but it might not be the best tool for it.

There are a couple topics regarding ERPs and node-red, the first below is on integrating SAP into your flow, the second on creating a tiny ERP system from scratch. Both a worth a read.

The first thing you’ve to be aware of is that while node-red functions quite well as general purpose tool, and the rest of this sentence and paragraph is exactly what Julian just posted above me. No need to rewrite that in different words.

Beyond that, see it like using PHP with Tk gui. It’s possible to create desktop apps that way, but is it the best fit? Figure out what your needs are, play around a bit with some flows to start out, and wonder if you’re doing the same thing as building a desktop application with PHP and Tk.

2 Likes

@afelix , @TotallyInformation e @ kuema thanks for the replies!

I am very grateful for the clarification that you were able to give me about NodeRed and sorry if for some reason my question got very confused or I mixed things up at some point, but with the content you gave me I was able to understand the general idea of how you can help me all this potential of NodeRed and also motivated me to "devour " :sweat_smile:
the documentation to start some tests.
Thank you very much, have a great day! :call_me_hand:

3 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.