Skip to main content

NodeJs - The server side JavaScript engine

In this article, I'm going to give an introduction to NodeJs.

Node.js is a server-side platform built on V8 Engine. It was developed by Ryan Dahl in 2009.

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


Features of Node.js

Following are some of the important features that make Node.js the first priority of software architects.
  • Asynchronous and Event Driven − All APIs in the Node.js library are asynchronous, ie non-blocking. This essentially means that Node.js based servers never wait for the API to return data. The server moves to the next API after calling it, and the Events of Node.js notification mechanism helps the server get a response from the previous API call.
  • Very Fast − The Node.js library is built on Google Chrome's V8 JavaScript engine, so code execution is very fast.
  • Single Threaded but Highly Scalable − Node.js uses a single threaded model with an event loop. The event mechanism helps the server respond in a non-blocking manner, making the server highly scalable, as opposed to traditional servers that create restricted threads to handle requests. Node.js uses a single-threaded program, and the same program can serve a much larger number of requests than traditional servers like Apache HTTP Server.
  • No Buffering − Node.js applications never buffer any data.
  • License − Node.js is released under the MIT license.

  • Below is a link on the github wiki that contains an exhaustive list of projects, applications, and companies using Node.js. This list includes eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo! , And Yammer are included.
  • Where to Use Node.js?

    The following are the areas where Node.js is proving itself as a perfect technology partner.
    • I/O bound Applications
    • Data Streaming Applications
    • Data Intensive Real-time Applications (DIRT)
    • JSON APIs based Applications
    • Single Page Applications

    Where Not to Use Node.js?

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


Comments

Popular posts from this blog

What? React?

Facebook's React has changed the way we think about Web application and user interface development. For that design, you can use it beyond the web. What makes this possible is a feature called Virtual DOM. This chapter explains some of the basic ideas behind the library. Therefore, please understand React a little more well before proceeding. Introduction to React React is a JavaScript library that aims to simplify the development of visual interfaces. Developed on Facebook and releas ed to the world in 2013, it drives some of the world's most widely used codes, running Facebook and Instagram among many other software companies. Its main purpose is to facilitate inferring about the interface and its state at any time by breaking up the UI into a collection of components. React is used to build single page web applications, along with many other libraries and frameworks that were available before React. Why is React so popular? React swept the front-end web dev...

MongoDB - NoSQL database program

MongoDB is a document database designed to facilitate development and scaling. This manual introduces the key concepts of MongoDB, presents a query language, provides operational and administrative considerations and procedures, and provides a comprehensive reference section. MongoDB offers both a  Community  and an  Enterprise  version of the database: MongoDB Community is a source and free edition of MongoDB available. MongoDB Enterprise is available as part of the MongoDB Enterprise Advanced subscription and includes comprehensive support for MongoDB deployment. MongoDB Enterprise also adds enterprise features such as LDAP and Kerberos support, on-disk encryption, and auditing. Document Database MongoDB records are documents. This is a data structure that consists of field-value pairs. MongoDB documents are similar to JSON objects. Field values can include other documents, arrays, and arrays of documents. The advantages of using documents are: D...