Mappa Via Marconi 20, Bussolengo (VR)

Node JS: pros and cons










Node.js was introduced in 2009 by developer Ryan Dahl and is a platform that many use to enhance back-end development, still using its proven language: JavaScript.

What is Node.js? 

It is a JavaScript framework that allows the developer to execute their code in a domain that is virtual and has its roots in Chrome's V8 JavaScript engine. Furthermore, Node.js is both open source and cross-platform.

  • Open source: the sources are freely accessible and editable by the developer community.

  • Cross-platform software: it is available on all operating systems. 

To name a few names, famous companies that have decided to adopt this technology for the back-end of their mobile applications are: LinkedIn, Uber, eBay, Walmart and Netflix.

Why use Node.js? 

Below we list some advantages and disadvantages of using Node.js.

The advantages

  1. Robust technology stack: using it for the back-end you can get all the advantages of complete JavaScript development, that is, better efficiency and productivity, the ability to share and reuse code with the frontend, great speed and a huge number of free tools. These features facilitate development times and, consequently, what you get is a fast and performing software;

  1. Event-based model: when you use a common language, both on the client side and on the server side, you get a quick synchronization. This detail is very useful for applications that rely on real-time events. Precisely for this reason, Node.js is the most frequent choice for the development of online games, chats, videochat, social networks and any other solution that requires updates in real time;

  1. Scalability: its lightness proves to be an excellent choice for micro-service architecture. The architectural style of Node.js approaches the development of each application as a set of small services, each with its own execution process, which allows for greater and better flexibility than a single core of modules. Consequently, it is easier to add more micro-services, rather than integrate additional features with the basic ones of the app; 

  2. Community: regarded as accessible software, Node.js enjoys a large community ready to offer feedback and support, and it is the same community that takes advantage of the open source position of Node.js, creating tools to simplify the development process for all.

  3. Integration: Node.js it goes very well with document databases, such as MongoDb and with Javascript frontends such as React and Vue.

The disadvantages

  1. Heavy computing tasks: in use there is still an inability to process CPU-related activities. This happens whenever a "heavy" request arrives at the event loop: Node.js sets all available CPU to process it ahead of time and respond to other requests in the queue. What does it involve? Slow processing and a delay in the cycle of events. In version 12 of Node.js, still in an experimental phase, we are trying to improve this functionality;

  1. Not entirely adequate tools: although the main modules of Node.js are stable and sufficiently adequate, there are several tools not up to par, contained in the npm register. 

Why choose it?

After reading the article, what emerges is that Node.js turns out to be a valid solution for the development and creation of microservices and APIs, then relying on the Javascript framework for the creation of the frontend.

For those who intend to have an application developed, they will have to deal with experienced professionals, able to make the most of the framework and make your app launch in the future.

Contact the DevInterface developer team, or consult our dedicated website sections.