Despite being a recent technology, it is used by large companies such as Uber, Netflix, Linkedin, Nasa, Walmart and many others. With the accession of these large companies, the use of Node.js in the community became routine.
One of the main reasons for its adoption is its high scale capacity. Their architecture, flexibility and low cost, make them ideal for implementations of microservices and serverless architecture. As a result, it is very common for new companies to decide to use Node.js, so the demand for developers who know about the technology has been increasing day by day.
ATTENTION: The purpose of this article is not to quote or try to convince you that Node.js is better than some other technology, the choice of Node.js or any other technology involves a lot of complexity and depends largely on the context in which the project will be involved.
Widely used by large companies and new startups
As I said earlier, large companies and the community have adopted this technology for new projects, and since Node.js is an open-source project it has several contributors around the world, this brings many benefits as these people are always contributing to evolution of this technology, Node.js is maintained by the Node.js Foundation, bringing more reliability about it.
In addition to being a strategic decision, as there are many companies using Node.js, many business opportunities naturally arise.
Non-blocking I/O (Event Loop)
Node.js works with the non-blocking I / O model, where only one thread is responsible for handling requests. This thread is called the Event Loop where each request is treated as an event, the Event Loop is running waiting for new events to be handled, and with each new request a new event is created.
When working with Node.js we need to think about an event-oriented approach, the developer needs to know the events that will be emitted at different times of the execution and to know how to listen to these events to perform the necessary operations, the resources in Node.js and also in most libraries made for it adopt a non-obstructive pattern of writing code, that is, when you need to do some heavy task like reading a file, writing something to disk or accessing a database everything will be done asynchronously by default.
Performance and productivity
In 2012 Linkedin presented the change from Ruby On Rail to Node.js, here is the result:
- Much more performance, running up to 20x faster in some cases;
- Up from 30 to 3 servers
- They were able to combine the back-end, front-end and mobile teams
Another very famous case is Paypal, where they switched from Java to Node.js and obtained very interesting results as well:
- Double productivity
- 33% fewer lines of code
- 40% fewer files used
One of the most positive points in relation to Node.js and positive point in your choice here at company. Is that There are hundreds of communities around the world working to make Node.js one of the main technologies in the development ecosystem.
It is very easy to find posts, tutorials, lectures and modules (NPM) for Node.js, with that, developing in technology becomes much easier.
Here in Brazil, we have groups on slack, facebook and Rocketseat giving sensational courses for those who want to learn Node.js.
Here at ez.devs we have a team specialized in Node.js, if you have a digital product and need help, please contact us.