In this tutorial you will learn about the Nodejs Features and its application with practical example.
Node.js Features
Extremely fast:
The Node.js is built on the Google Chrome’s JavaScript run-time Engine (V8 virtual machine) which makes Node.js application to execute much faster.
Single threaded:
Node.js operates on a single thread using an event looping mechanism, where a main thread put requests onto the event loop and process them, effectively to achieve high level of concurrency without having to assign additional threads.
Highly Scalable: Single threaded event looping mechanism makes Node.js highly scalable as compared to traditional servers which allocate limited number of threads to handle requests.
Non-blocking Event Driven I/O:
In Node.js, I/O intensive operations are performed asynchronously. Node.js uses a event driven non-blocking I/O API in order to execute the I/O operations. In non-blocking environment I/O operations are executed in parallel instead of one by one, here callbacks are used to signal completion.
Real Time Data Streaming:
In Node.js data never buffer, it allows real-time data streaming and proxying between different data sources.
APIs for Object DBs:
JSON (JavaScript Object Notation) is most popular and widely used data exchange format, it allows JavaScript developers easily construct RESTful APIs.In Node.js, data stored in JSON format can be easily exposed without the impedance mismatch and data conversion.Thus Node.js is perfect fit for exposing the data from database supporting JSON data format such as MongoDB or CouchDB.
Single Codebase (JavaScript):
Node.js is based on Javascript, it allows developers to write server-side and client-side coding using JavaScript.This way it reduces the impedance mismatch between these two points automatically.It become easy to send and synchronize data via JSON that work the same on both the two programming environments. Same database model can both the client-side and server-side.
In-built Package Management:
Node.js comes with an inbuilt Package Manager known as NPM (Node Package Manager). It is used to install, organize and manage third-party Node.js programs and dependencies.
Industry and Community Driven:
Node.js is supported by a huge, diverse, active and rapidly growing community of developers around the world. Node.js community helps to keep the framework always up-to-date. Key updates are always available and it is easy to get help or support from community members.
Node.js encourages sharing using the inbuilt Node Package Manager (NPM). It allows developers to easily update, share or reuse modules/codes. Node.js open source community has produced many useful modules that add extra capabilities to Node.js applications. NPM repository of over 50,000 packages helps developers to create full featured Node.js applications.