Go Back

I ADMIT IT! NodeJS Rules All

So, I have finally given into NodeJS.  Launched circa 2010, it’s Javascript used on the server.  Before this, Javascript had existed in the web browser only.  And for a while, I saw it as another option on the pile of existing backend languages along with PHP, Python, Ruby, etc.

I first saw it around 2016 and to me it looked too simple and bare-bones.  So, I kind of dismissed it.  I guess I was used to seeing big HTML templates and couldn’t fathom how five lines of code made a web server.  Since my projects during that time in my development career didn’t involve NodeJS, I kind of forgot about it as other obligations took priority.

But anyways, today in 2025 I’ve developed in NodeJS for several years now and and admit that it rules all.  Popular web languages like PHP tend to throw the kitchen sink in with their languages, including a bunch of packages that I’m sure all get used regularly, but the majority not used by any individual developer.  This kitchen-sink throwing approach was also true of many frameworks like Laravel, .NET, etc.  NodeJS does the opposite.

NodeJS reminds me of a scene in the show Futurama, where there exists a character named Bender.  Bender is a robot and he was once asked his thoughts on race relations among humans.  His response was that he believed all races to be equally inferior to robot.  In this case, NodeJS is robot.

Just to be clear, I’m referring to serving web pages and API data.  For more complex operations, I’m sure other languages are better; however, in those cases NodeJS should still serve the data to the web page or device with whatever more complex operations available through a Rest API or something.

Anyways, I will outline 3 reasons NodeJS is superior in order of importance.

1) It’s all in Javascript!
Okay, so in very basic terms all web pages send a request from the browser to a web server.  Then, the web server responds back with content goodness.  The browser will only ever speak in Javascript and will pass more complex data in JSON (Javascript Object Notation).  For a NodeJS server, any data received is already understood because it speaks the same language.  For any other server language, JSON, for example, would have to be converted to a format the server language understands through an operation called parsing.  Then, before the information is sent back to the browser, it has to be translated into JSON once again because, of course, the browser only speaks Javascript.  Not only that, browsers have to tell the server what kind of data is being sent and expected whereas a NodeJS server just knows (please note you will have to use JSON.stringify() and JSON.parse() sometimes where passing raw JSON isn’t allowed, so some parsing will happen).

If I were to compare Javascript to another language, the best comparison would be to that of the English language.  Why is that?  Let’s use as an example air traffic control.  If an airline from India is about to land in Japan, in what language does the pilot communicate with Japan’s air traffic control?  English, of course!

If you liken air traffic control centers globally to all web browsers globally, Javascript behaves like the English language.  Nowadays, most pilots globally have to learn English, but if they didn’t know English there would be a painstaking process of having to translate to and translate from English for the pilot to get the information needed.

For programmers, there are almost always going to be parsing issues translating Javascript to whatever language you’re using and translating that information back again.  Having the need to translate eliminated, this is why development using only Javascript is so helpful for programmers.

2) You only install what you need!
It’s not only NodeJS that makes it special, it’s the ecosystem.  It’s kind of why Tesla is so dominant in the US electric car market.  Not only is the car an engineering marvel, it’s the supercharger network that makes it easy to find chargers to use.  For NodeJS, that ecosystem is npm (Node Package Manager)npm lets you install packages using a simple syntax of npm install <package_name> in the terminal.  Other languages may have you legitimately extracting tarballs and that kind of crazy shit.  Furthermore with NodeJS, it starts with nothing and you install only the packages you need.  It sounds like a trivial concept, but many, many web frameworks insisted on doing the opposite and providing anything and everything you could possibly need, leading to lots of bloat and confusion.  To be fair, I think modern iterations of traditional frameworks are moving away from this approach.  Anyways, for this reason it’s much easier to use.  Also, NodeJS is popular and widespread, so it’s packages are thoroughly vetted and there is plenty of help with documentation and community feedback.

3) It’s readily available!
Finally, NodeJS is pretty much available in virtually any Linux-based Apache/nginx server.  With nvm (Node Version Manager), it’s pretty simply to get the exact version of Node and its associated packages.  Contrast that to the complexities of launching a Python or Ruby app where application interfaces are needed.  I don’t even know where to begin with languages like Java or C#.  Even PHP, the default language of all Linux-based Apache/nginx servers, can be a pain to upgrade and configure.

 

Anyways, that is why NodeJS rules all.