Basics of Node.js Based on Annual Conference Session

Basic of Node.js

This is a special article, because this article will talk about Node.js based on a session by Dhananjay Sir, in C# Corner's Annual Conference. So if you guys missed this overwhelming event or that session then I hope this article will help you and also provide you a glimpse of Dhananjay Sir's 50th presentation.

In spite of all these I am including reviews/comments for node.js from several MNC's and organizations.

Key Points | Node.js

I will first provide all the key points of node.js presented by Dhananjay Sir at his session, and then I'll try to explain them one by one.

  •  Node.js is nothing but server-side JavaScript.
  • Single-threaded environment.
  • Asynchronous event driven server-side JavaScript.
  • Runs on Google JS ver-8 Engine.
  • Non blocking I/O and File API.
  • Highly scalable.
  • Nodes apps are created.
  • Achieving Scale and Concurrency
  • Written in C and C++
  • A file in node.js is called a Module.
  • High performance.

Introduction | Node.js

In simple words we can say that:

NODE.JS is nothing but a software platform for scalable server-side programming and networking applications.
 
Achieving Scale and Concurrency

This feature is inherited in NODE.js through these functionalities:

  • Single thread and multiple process
  • Asynchronous functioning/programming
  • Size the thread pool correctly
  • Node applications are build

Single Threaded Environment

So what does these terms mean?

  • In the most simplest of words we can say that it takes requests from many clients but responds back in one operation or a thread.

Single Threaded Environment 

We can explain these feature as:
  • Client requests for something
  • Server processes the request
  • Server forwards a response to the client
  • Server is again ready to process a new request

Asynchronous Event Driven Server-side JS

As we know most of the existing server-side frameworks use a synchronous architecture, NODE.JS uses an asynchronous architecture that JavaScript can handle well. This means that the server reacts to events and sends messages or responses to the database.
This style of programming is very different than the synchronous style.

Asynchronous Event Driven Server Side JS

It handles a request or tasks sequentially, that means intensive tasks are delegated to the workers. We can explain it as:

  • First Class function
  • Closures

Non Blocking I/O and File API

I will explain the importance of this functionality via these two reviews from Harp Platforms and Nodejitsu. Here we go:

#Harp Platform Review
“The non-blocking nature of node.js makes it ideal for building a HARP Platform. Streaming multiple files in parallel across multiple servers is common place within our stack and nodes makes this incredibly simple.”
- Brock Whitten
[Co-Founder]

#Nodejitsu Review-
“Node.js allows us to easily orchestrate thousands of servers in our cloud and yours. The simple non-blocking network programming model allows us to work with sockets and network traffic with a lower server footprint than anything else available today.”
- Charlie Robbins
[CEO]

#Chloi Review-
“Node.js changed the game. With its low level, robust API, where we are able to prototype and build applications faster than in any other language, that our customers love.”
- Rob Eills
[Co-Founder]

Highly Scalable

As I already explained, NODE.JS is event driven, so this functionality makes it highly scalable too. We can further explain it as:

  • Client requests for something
  • Server es the request on for processing
  • Ready to process a new request
  • Server handles more requests as they come in
  • Server responds back to the client when the request has finished processing

Here are some reviews

#ZingProject Review-
“We use node.js to power the back end of our real-time collaboration software between its superb scalability and performance, Node.js is the only logical choice for our current and future applications.”
- Pete Fredricks
[Co-Founder, CEO]

#Modules Review-
“Node.js enables us to run thousands of user applications. The technology has allowed us to rapidly build and expand our platform. We rely on it at every layer.”
- Charlie Key
[CEO]

Nodes apps are created

Node apps plays a critical role in the technology stack of many high-profile companies depends upon their unique benefits.

Here I am presenting a review of the node apps of various MNC's:

#Ebay
“Node's evented I/O model freed us from worrying about locking and concurring issues that are common with multithreaded async I/O.”
- Subbu Allamarju
[Principal Member, technical Staff]

#Linkedin
“On the server side, our entire mobile software stack is completely built in node. One reason was scale. The second is node showed us huge performance gains.”
- Kiran Prasad
[Director of Engineering]

#Yahoo
“Node.js is the execution core of Manhattan, allowing developers to build one code base using one language; that is nirvana for developers”
- Renaud Waldura
[Sr. product Manager, Cocktail]

#Microsoft
“Node gives Azure users the first end-to-end JavaScript experience for the developers of an entire new class of real-time applications.”
- Claudia Caldato

[Principal Program Manager]
Now, I guess you all have at least a touch of why nodes apps are that very useful.

Written in C and C++

The compiler for node.js is written in the two most popular languages, C and C++. So it has properties and functionality of both languages.

High Performance:

Node.js is 15-20% faster than any other scripting language, this fact can drop your jaw but this is a cruel reality. This can amaze you that an interpreted language is as fast as a compiled language.

We can easily feel that an interpreted nature of JavaScript and the lack of establishment patterns for programming in the node.js applications are best kept small.

Here are some reviews about performance

#ZingProject Review-
“We use node.js to power the back end of our real-time collaboration software between its superb scalability and performance, Node.js is the only logical choice for our current and future applications.”
- Pete Fredricks
[Co-Founder, CEO]

#PayPal Review
“Node.js powers our web applications and has allowed our teams to move much faster in bringing their designs to life. We're happily embracing the power of node.js”
- Jeff Harrell
[Director of Engineering]