22
DecWhat is Node.js and Why to use it?
Node.js is a server side JavaScript environment for developing web applications like as ASP.NET, JSP, Php etc. It is an open-source and cross-platform framework based on Google's V8 JavaScript Engine.
Node.js was developed by Ryan Dahl and other developers working at Joyent. It was first released in 2009 supporting only Linux. In 2011, windows version was released.
It is used to build fast and scalable network applications as well as data-intensive real-time web applications. All versions of Node.js are starting from 0.1.0 releases to 0.1.x, 0.2.x, 0.3.x, 0.4.x, 0.5.x, 0.6.x, 0.7.x, 0.8.x, 0.9.x, 0.10.x, 0.11.x, and 0.12.x. Before merging of Node.js and io.js, it’s last versions was Node.js v0.12.9.
V8 JavaScript Engine
V8 is written in C++ language and implements ECMA Script (ES5). V8 is used in Google Chrome and can be run standalone or can be embedded into any C++ application.
V8 uses just-in-time compilation (JIT) to execute javascript code. V8 can run on Windows XP, Vista, Windows7+, Mac OS X 10.5+, and Linux OS. The first version of the V8 engine was released with the first version of Chrome on September 2, 2008.
According to Wikipedia,
V8 compiles JavaScript to native machine code (IA-32, x86-64, ARM, or MIPS ISAs) before executing it, instead of more traditional techniques such as interpreting byte code or compiling the whole program to machine code and executing it from a file system.
Read More - Node JS Interview Questions for Freshers
Why Node.js?
As you know, JavaScript is an event-based language, so if you are using JavaScript at server side then anything happens on the server will trigger a non-blocking event. For example, each new connection request will fire an event, received data from a form will fire a data-received event, requested data from the database will fire data-requested event.
It means a Node.js site will never lock up and can support thousands of concurrent users. In this way Node.js plays the role of web server like Apache and IIS. Actually, Node.js allows you to process new requests without waiting for back-end services to respond.
Node.js is also great for mobile applications, which typically rely on an API server to service requests from thousands of devices at once.
Node.js Application Area
Node.js can be used to create following types of applications.
E-Commerce Web Applications
Social Media Applications
Proxy Server
Real-time Services
Real-time data Applications like Multiplayer Games, Stock Trading, Chat App etc.
Data Streaming Applications
Network Applications
High Concurrency Applications
File Uploading Tools
Process Monitoring Tools
HTTP Web Server
Who use Node.js
Walmart
E-bay
PayPal
Microsoft
LinkedIn
Yahoo
Google
SAP
IBM
Strong Loop
Dropbox
Node.js Platform Support
Node.js supports following platforms:
Linux
Windows
Mac OS X
SunOS
IDE for Node.js Development
Visual Studio 2013, 2015 or higher
Visual Studio Code
Atom
Node Eclipse
WebStorm
Sublime Text
Note
Node.js is not a JavaScript library, but it is a platform to execute JavaScript on server side.
Node app can not be deploy on your existing hosts like shared web hosting etc.
You can use VPS and dedicated servers to install node and run your app.
The easiest way to deploy your node app is to use a scalable service like Heroku, which is completely free and you only need to pay when you are using more resources.
What do you think?
I hope, now you have better understanding about Node.js. I would like to have feedback from my blog readers. Your valuable feedback, question, or comments about this article are always welcome.
Take our Nodejs skill challenge to evaluate yourself!
In less than 5 minutes, with our skill challenge, you can identify your knowledge gaps and strengths in a given skill.