TrustRadius Insights for Node.js are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
Beneficial C and C++ plugins: Several users have found the C and C++ plugins to be highly beneficial for heavy calculations. They mentioned that with a little knowledge of JavaScript, these plugins are easy to use and maintain.
Robust technology with wide JSON support: Many reviewers appreciate the robustness of Node.js and its capability to handle multiple connections at a time. They also highlight the wide range of JSON support provided, which enhances their development experience.
Ample npm packages for complex applications: Numerous users have praised the availability of numerous npm packages that assist in developing complex applications. These packages provide extended functionality and make it easier for developers to tackle intricate tasks efficiently.
Node.js is commonly spread across the organization as a service aggregator of other services, acting as a Backend For Frontend for the web and native applications. Since the frontend technologies are JavaScript-based, it's easy to use, having high-speed development from all developers, because all of them are familiarized with the base language.
Pros
As an API Gateway/Aggregator
Scalable applications
Development experience
Cons
CPU Performance
Likelihood to Recommend
Node.js is a strong choice for building modern applications. It simplifies managing how different services work together (service orchestration) and adapts to growing user demands (scalability). Additionally, it allows for efficient Backend for Frontend (BFF) layers, providing web applications with the specific data they need. Also, Node.js utilizes JavaScript, a familiar language for many developers, which can streamline the development process.
We use Node.js to develop a single-page app like chat applications, chat boat, etc as a backend, which is widely using in our organization with this we are managing both frontends as well as backend with the help of javascript.it really provides a smooth user experience for users for multiple requests without any delay.
Pros
Node.js using V8 engine that allows run both UI and server side using JavaScript.
Eliminates waiting time.
Cross-platform that can execute different platforms like android, web apps, and other IoT devices.
Uses Non-blocking property so that can be handled multiple requests with quick response.
Easy to install and maintained.
Open source.
Cons
There is no proper support. which sometimes leads to delays in production releases.
Its produces call back hell for large and complex applications.
Sometimes debugging is a big pain its very slow.
Likelihood to Recommend
Suited For:
A single-page application that provides a quick response.
Easy to maintain for a single-page application.
Not Suited for:
The complex application that produces callback hell.
Node.js is used for developing the backend of my current organization's ongoing product. Node.js is not used by the complete organization but only the backend developer team. Our current product needed a multi-tenancy (concurrency) feature which is developed using Node.js only. Also, our product's frontend was written in javascript so to match the language Node.js was used and other problems like fast performance of product, scalability, non-blocking event-driven architecture, etc. were solved.
Pros
Node.js provides a feature called callback and promise. This feature lets the code get executed faster and hence increases the performance of the application.
Node.js makes the application scalable. The application becomes scalable due to load balancing. We can have multiple jobs for a node to process and it can handle it giving high throughput with no significant burden.
We needed a feature called multi-tenancy in our product's enterprise which was very effectively provided by Node.js.
Also, Node.js provides real-time data-intensive applications which were a must for our e-learning product.
Cons
The biggest drawback of Node.js even now is its inability to process CPU-bound tasks. For computation-intensive applications, PHP is preferred over Node.js. Whenever a heavy request comes to the event loop, Node.js would set all the CPU available to process it first, and then answer other requests queued. That results in slow processing and overall delay in the event loop, which is why Node.js is not recommended for heavy computation. Node.js should work upon this feature too.
Due to its asynchronous nature, Node.js relies heavily on callbacks, the functions that run after each task in the queue is finished. Keeping a number of queued tasks in the background, each with its callback, might result in the so-called callback hell, which directly impacts the quality of code. This should also be improved.
There are some modules in the npm registry which are not of good quality so these should be worked upon.
Likelihood to Recommend
1. Node.js is useful for building one page, fast, light-weight, scalable applications. 2. It is not suitable for building computationally extensive applications, it may lead to bad performance.
Node.js is my absolute favorite tech stack to work with, I learnt it at a time when I was burnt out and bored with .NET after having been in the Microsoft world for most of my career. Even with .NET Core around, I still prefer Node.js to anything else. Node is robust and fast, it delivers on everything it promises, it is the back bone of many services at my organization and used across all departments. When you get something like Node.js for free and it is such a pleasure to work with, all you can say is that it's contribution to the organization is priceless.
Pros
Robust
Fast
Modern
Easy to learn
Allows using JS or TypeScript everywhere
Supported and maintained actively by the open source community
Pleasurable to work with
Reliable
Simple to learn
Simple to setup
Cons
Package management can sometimes be a pain
Keeping up with upgrading packages to address vulnerabilities
Likelihood to Recommend
If you need a fast, robust and reliable server side framework that allows you to write JS on the backend and therefore have your project in one language - Node.js is a stand out choice. It can easily handle heavy traffic on very little resources (CPU and memory usage is very efficient). I can't recommend it enough, it is such a pleasure to work with - I feel it gave me back my career. I was so bored with the banality of .NET, I had also come to dislike it's overly convoluted and complicated class structure. Node.js was the fresh start I needed, it can be as simple or as complicated as you like - but even at it's most complicated it can still beat the pants off .NET core any day.
Node.js is used by me and my department for making backend of many web projects. We use it ideally for making backend of projects in which we have to serve data dynamically to webpages. We also use it mostly for designing backend API and for making web applications with backend and frontend in the same directory.
Pros
C and C++ plugins are good for heavy calculations.
Easy to use and maintain with a little knowledge of Javascript.
A wide range of json support.
It provide robust technology to work.
Cons
It reduce performance while dealing with heavy computational task.
Node.js invites a lot of change in code, due to an unstable api.
Lack of library support.
Likelihood to Recommend
Node.js is well suited when we have to serve data to display on a webpage, which will be loaded once the page is load and doesn't make too many requests, or for a small application with fewer visits as for big projects we couldn't rely on a single environment or language.
In our organization Node is used for backend application development. We have several applications that manage communication between end users and Facebook Messenger. We use weebhooks and express.js package to manage this. As alternative we could use Python but Node was better choice for us. Mainly because of its simplicity and many additional packages with ready to use addons. Moreover we have few JS dev on board so it was easier to develop apps.
Pros
It can handle many connections at a time.
JavaScript is easy to learn for every developer.
There are so many npm packages that help develop complex applications.
Cons
There are no cons in the approach we use.
Likelihood to Recommend
The ability to process multiple concurrent requests by Node.js is desired for Internet of Things projects that may have thousends or even more devices connecting at the same time.
We are using Node to implement a microservices architecture that runs every aspect of the product. From a user-facing API, to back-end processing services, to our serverless triggers.
Pros
Light-weight, fast implementations of tasks in a microservices framework.
Ample modules are available for extended functionality.
Open-source with large amounts of community support.
Very scalable for ever-increasing environments.
Cons
Performance bottlenecks need to be profiled and ameliorated.
The Asynchronous Programming Model has a learning curve which isn't always intuitive to entry-level coders.
Much more suited to the cloud, as opposed to bare-metal installations.
Likelihood to Recommend
Node is very good at microservices. "Do one thing and do it well." It is easily Dockerized and scalable. For many products, Node can be used as a front-end API, as well as a back-end processor. For extremely CPU-intensive tasks, like advanced machine learning, I'd recommend not to use Node.