NodeJS initially started off as an open-source project and found support from Joyent that provided necessary sponsorship (and is known to have invested in other notable technologies such as Ruby on Rails) along with hosting services for Twitter and LinkedIn.
LinkedIn in fact was one of the first enterprises to use NodeJS to build the backend architecture for its mobile application and was later used by eminent names such as Walmart, Netflix and Uber among others.
While NodeJS web application has received wide acclaim, developers have also shared reasons for dissatisfaction with this platform.
Advantages of NodeJS
NodeJS has long been seen as a viable solution to develop scalable applications with influential features such as load balancing, a non-blocking event loop mechanism and utilization of fewer resources while maximizing output. It also supports addition of extra resources to single nodes for vertical scaling of web applications, one of the most important NodeJS benefits.
Versatile Tech Stack
Disadvantages of NodeJS
CPU Task Failure
One of the most understated drawbacks is the inability of the platform to perform heavy computations. Although capable of executing code on a single thread, developers constantly face difficulties with CPU bound tasks. The main reason for this is that the platform first processes heavy requests and then moves to others which causes a delay in the event loop.
Another important setback that developers face when building NodeJS web applications is the frequent changes to APIs that render it unstable. This makes it imperative to ensure a consistent change of code to match the latest version.
Less Than Ideal Tools
There are several tools in the NPM registry that are of very poor quality. To make matters worse, the structure of the registry is less than ideal as they are not graded as per quality or their output. It is believed that one of the main reasons for this is the open-source nature of NodeJS that does not have any standardized quality measures in place.
While highlighting the advantages and disadvantages of NodeJS, it is also important to mention the contributions that this platform has made to many apps. It is important to keep in mind that this is still a platform in its nascent stages and is bound to improve over the years, providing succor to many developers.