English 中文(简体)
Node.js - Introduction
  • 时间:2024-12-22

Node.js - Introduction


Previous Page Next Page  

What is Node.js?

Node.js is a server-side platform built on Google Chrome s JavaScript Engine (V8 Engine). Node.js was developed by Ryan Dahl in 2009 and its latest version is v0.10.36. The definition of Node.js as suppped 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 apppcations. Node.js uses an event-driven, non-blocking I/O model that makes it pghtweight and efficient, perfect for data-intensive real-time apppcations that run across distributed devices.

Node.js is an open source, cross-platform runtime environment for developing server-side and networking apppcations. Node.js apppcations are written in JavaScript, and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux.

Node.js also provides a rich pbrary of various JavaScript modules which simppfies the development of web apppcations using Node.js to a great extent.

Node.js = Runtime Environment + JavaScript Library

Features of Node.js

Following are some of the important features that make Node.js the first choice of software architects.

    Asynchronous and Event Driven − All APIs of Node.js pbrary are asynchronous, that is, non-blocking. It essentially means a Node.js based server never waits for an API to return data. The server moves to the next API after calpng it and a notification mechanism of Events of Node.js helps the server to get a response from the previous API call.

    Very Fast − Being built on Google Chrome s V8 JavaScript Engine, Node.js pbrary is very fast in code execution.

    Single Threaded but Highly Scalable − Node.js uses a single threaded model with event looping. Event mechanism helps the server to respond in a non-blocking way and makes the server highly scalable as opposed to traditional servers which create pmited threads to handle requests. Node.js uses a single threaded program and the same program can provide service to a much larger number of requests than traditional servers pke Apache HTTP Server.

    No Buffering − Node.js apppcations never buffer any data. These apppcations simply output the data in chunks.

    License − Node.js is released under the MIT pcense.

Who Uses Node.js?

Following is the pnk on github wiki containing an exhaustive pst of projects, apppcation and companies which are using Node.js. This pst includes eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo!, and Yammer to name a few.

Concepts

The following diagram depicts some important parts of Node.js which we will discuss in detail in the subsequent chapters.

Node.js Concepts

Where to Use Node.js?

Following are the areas where Node.js is proving itself as a perfect technology partner.

    I/O bound Apppcations

    Data Streaming Apppcations

    Data Intensive Real-time Apppcations (DIRT)

    JSON APIs based Apppcations

    Single Page Apppcations

Where Not to Use Node.js?

It is not advisable to use Node.js for CPU intensive apppcations.

Advertisements