Node.js is for Everyone

When asked about Node.js, most developers would say that they have heard of it and may have even used it in some aspect of a project. When asked what Node.js is, the conversation tends to take a different turn into different technology “buzzwords” such as MeteorMongoDB, and sometimes even Express will come up. The point is that while a lot of developers have heard of Node.js that is about as far as it goes. Node.js is a newer technology that is rapidly climbing to the top in the technology stacks of a multitude of large companies. Wal-Mart, PayPal, Netflix, LinkedIn, and many others are using the technology on a daily basis. So what exactly does Node.js do?

Simply put, Node.js is a server side JavaScript runtime. It is single threaded, asynchronous, and event driven. Node.js is built with Google’s Chrome V8 JavaScript engine, it compiles the JavaScript source code to native machine code instead of interpreting it in real time, which in turn allows JavaScript on the server side to run almost as fast as compiled code. Node.js uses an event loop to process incoming requests. This means that as requests come in, Node.js will process them one at a time and send callbacks out as a response.

Node.js is capable of running on a majority of different types of servers. Windows, Linux, Mac OS, UNIX, and ARM are just some of the servers that Node.js can be and has been deployed on. Not only will it run on just about anything, it is open source as well. Pre-built binaries and the source code is available on the Node.js site.

Node.js is a server side JavaScript interpreter, so how do things get done with Node.js? This is done through modules, third party libraries, and other frameworks to expand Node. These packages are managed with the Node.js package manager called npm (node package manager). There are frameworks for MVC (Model-View-Controller), desktop applications, web servers, and just about anything else you would want.

Node.js is definitely worth looking into as a developer, even if it is just to become more familiar with the terminology and different technologies associated with it because it is not going away and will only get bigger. More and more companies are finding internal uses for Node.js and a lot are using it to build web apps, mobile sites, desktop apps, or just using it to host their web API. It is lightweight, versatile, and doesn’t require much to run efficiently. It is definitely a technology to keep track of.