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.
VU
Verified User
Professional in Engineering (Internet company, 201-500 employees)
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.
VU
Verified User
Engineer in Engineering (E-Learning company, 11-50 employees)