What is Node.JS ?

Yahjaira Vasquez
2 min readApr 8, 2022

--

What is Node.JS, you ask? Node is an asynchronous event driven Javascript runtime, per the official Node.JS website. Asynchronous code is parallel programming that allows for events to occur independently of the main application. By continuing with next requests instead of waiting for one request to be completed, asynchronous code used by Node decreases/eliminates the wait time that typically occurs with synchronous code. Because functions are typically written asynchronous (unless intentionally written synchronously using methods provided by Node), application written using Node are easily scalable.

Along with it’s asynchronous programming, Node is single-threaded and non-blocking. Therefore, while the code is processed one command at a time, given that it is asynchronous, it is also non-blocking. This can also be viewed as a downfall for Node because it puts this runtime at a disadvantage when it comes to long running calculations. When heavy computations, such as CPU-Intensive and I/O intensive operations, are performed, this can create blockage for incoming requests, further leading to decrease in application performance. Node has expanded over the years to support a multi-thread environment, by incorporating “worker threads” which are useful for performing CPU-intensive Javascript operations and built in I/O operations to provide some assistance with I/O intensive operations.

Photo Credits: https://strongloop.com/strongblog/node-js-is-faster-than-java/

Node also has an open source ecosystem which has it’s pros and cons. On the cons, you have to be mindful of the packages you choose to incorporate into your applications because many of the packages are not supervised and properly updated, which can lead to bugs being incorporated into your applications. On the other hand, if you properly navigate and use the open source eco system to your advantage it allows for accelerated growth of your projects. That being said, the Node community is very active and supportive, therefore finding help when you’re stuck or have questions is fairly easy.

All in all, Node.JS is rather easy to learn, especially if you already know Javascript and is a great tool to have. I highly suggest anyone who is looking to learn Javascript or who knows Javascript already to add Node to their skillset as well, as it is an easy skillset to learn and a powerful runtime to pair with Javascript. Please share in the comments, if you intend to learn Node.JS. If you already know and use Node.JS what are you experiences with this runtime? Do you suggest learning it?

--

--

Yahjaira Vasquez

Seeking and spreading knowledge within the world of tech!