NodeJs for beginners: 01 – What is node js ?

What is Node.js ?

Ans : Node.js is a cross-platform runtime environment and library for running JavaScript applications outside the browser. It is used for creating server-side and networking web applications. It is open source and free to use.

The definition given by its official documentation is as follows:

Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast and scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Many of the basic modules of Node.js are written in JavaScript. Node.js is mostly used to run real-time server applications. Node.js also provides a rich library of various JavaScript modules to simplify the development of web applications.

Why Node.js?

Ans: Node.js uses asynchronous programming!

A common task for a web server can be to open a file on the server and return the content to the client.

Here is how PHP or ASP handles a file request:

  1. Sends the task to the computer’s file system.
  2. Waits while the file system opens and reads the file.
  3. Returns the content to the client.
  4. Ready to handle the next request.

Here is how Node.js handles a file request:

  1. Sends the task to the computer’s file system.
  2. Ready to handle the next request.
  3. When the file system has opened and read the file, the server returns the content to the client.

Node.js eliminates the waiting, and simply continues with the next request. Node.js runs single-threaded, non-blocking, asynchronous programming, which is very memory efficient.

Features of Node.js:

Following is a list of some important features of Node.js that makes it the first choice of software architects.

  1. Extremely fast: Node.js is built on Google Chrome’s V8 JavaScript Engine, so its library is very fast in code execution.
  2. I/O is Asynchronous and Event Driven: All APIs of Node.js library are asynchronous i.e. non-blocking. So a Node.js based server never waits for an API to return data. The server moves to the next API after calling it and a notification mechanism of Events of Node.js helps the server to get a response from the previous API call. It is also a reason that it is very fast.
  3. Single threaded: Node.js follows a single threaded model with event looping.
  4. Highly Scalable: Node.js is highly scalable because event mechanism helps the server to respond in a non-blocking way.
  5. No buffering: Node.js cuts down the overall processing time while uploading audio and video files. Node.js applications never buffer any data. These applications simply output the data in chunks.

That’s it in this page. Check out next chapter of nodejs series here: 02 – How to install node js ?