An Introduction to Node.js

An Introduction to Node.js

JavaScript development has come a long way since it was first introduced in 1995, by Mozilla co-founder Brendan Eich. Originally used as a client-side scripting language, JavaScript has expanded its use to applications far beyond its original intentions. No longer is the language solely used on the client-side. With the introduction of Node.js, JavaScript is now being used on the server side as well, replacing the need for other back-end languages such as PHP, Python or Ruby.

More than just a novelty, more and more developers and companies are embracing using JavaScript on the back-end, allowing for all development work to be done in a single language. To get a better idea as to why this is becoming a growing trend, this post will take a look at what Node.js is, and what it is best used for.

An explanation of Node.js

Node.js is a JavaScript framework or library developed to be able to use JavaScript as a primary server-side scripting language. It is not a new language, simply a subset of code written for the JavaScript language. Originally created by Ryan Dahl in 2009, it is built on Google Chrome’s JavaScript V8 Engine, which in itself was developed to offer better performance than other existing JavaScript engines. Node.js is fully open source, runs on every operating system, and is constantly being improved by the large developer community surrounding the project.

Since it is intended specifically for backend use, Node.js comes with a variety of modules to handle common tasks one would use a server-side scripting language for. This can speed up the development process immensely, abstracting common features that you would otherwise have to write from scratch.

The basic features of Node.js

Here are some of the fundamental features of Node.js that separate from other scripting frameworks:

Event-Driven, Asynchronous Programming

APIs used as apart of the Node.js framework are totally asynchronous, otherwise known as non-blocking. This equates to Node.js never having to wait on a specific API to send data without moving on to another task. Node.js will move on to another API, keeping track of the data it is still waiting to receive from other APIs.

High Performance

Node.js is extremely fast compared to other server-side alternatives, having been built on Google Chrome’s V8 Engine. Depending on the versions compared, Node.js has outperformed PHP and Python in benchmark tests.

Avoids buffering

Node.js applications always output data in chunks, in order to avoid buffering.


Node.js was developed to be used for both small projects and large, enterprise systems. Node.js utilizes a single-threaded model to allow for asynchronous events, whereas common server languages utilize a limited number of threads to deal with data requests. This ultimately means that Node.js can handle a larger number of server requests at one time than a more typical server setup such as Apache HTTP.

Node.js in Practice

Node.js is being used for a wide-array of uses, from open-source projects or small startups, to Fortune 500 companies. A short list of companies utilizing Node.js include PayPal, Uber, Microsoft, eBay, and GoDaddy.

What Node.js is best for

Some of the uses in which Node.js really shines include I/0 bound applications, such as chat messaging, data streaming services such as live video, Data Intensive Real-Time Applications (DIRT), single page web applications, and applications utilizing a lot of JSON-based APIs.


Nick Morera - blog author

Author Bio

While always deeply interested in technology since childhood, Nicholas has been involved in web development in a professional capacity since 2012, as both a front-end developer and project manager.

He is most adept at HTML, CSS & JavaScript, but is interested in the entire spectrum of computer science. Some of his tech interests include full-stack JavaScript development, Unix-based operating systems, open-source web projects, and computer-assisted composition.

Post a Comment

Comments are moderated. Your email is kept private. Required fields are marked *

© 2020 Sunlight Media LLC