Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Node - Js Tutorial: Learn in 3 Days

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Node.

js Tutorial: Learn in 3 Days


Introduction to Node.js
The modern web application has really come a long way over the years with the
introduction of many popular frameworks such as bootstrap, Angular JS, etc. All of
these frameworks are based on the popular JavaScript framework.

But when it came to developing server-based applications, there was a kind of void,
and this is where Node.js came into the picture.

Node.js is also based on the JavaScript framework, but it is used for developing
server-based applications. While going through the entire tutorial, we will look into
Node.js in detail and how we can use it to develop server-based applications.

Syllabus
 Tutorial Download & Install Node.js: Step by Step Guide.

 Tutorial Node.js Modules: Create, Publish, Extend & Manage

 Tutorial Node.js Http Tutorial: Create Server and Get Data

 Tutorial Node.js Express Tutorial

 Tutorial Node.js MongoDB Tutorial

 Tutorial Node.js Promise Tutorial

 Tutorial Bluebird Promises Tutorial

 Tutorial Node.js Generators & Compare with Callbacks


 Tutorial Node js Streams Tutorial: Filestream, Pipes

 Tutorial Node.js Testing with Jasmine

 Tutorial What is GraphQL? Tutorial with Example

 Tutorial Node.Js Vs. AngularJS: Know the Difference

 Tutorial Node.js Vs. Python: What's the Difference?

 Tutorial Top 25 Node.js Interview Questions & Answers

 Tutorial Node.js Tutorial PDF

What is Node.js?
Node.js is an open-source, cross-platform runtime environment used for the
development of server-side web applications. Node.js applications are written in
JavaScript and can be run on a wide variety of operating systems.

Node.js is based on an event-driven architecture and a non-blocking Input/Output API


that is designed to optimize an application's throughput and scalability for real-time
web applications.

Over a long period of time, the framework available for web development were all
based on a stateless model. A stateless model is where the data generated in one
session (such as information about user settings and events that occurred) is not
maintained for usage in the next session with that user.

A lot of work had to be done to maintain the session information between requests for
a user. But with Node.js, there is finally a way for web applications to have real-time
two-way connections, where both the client and server can initiate communication,
allowing them to exchange data freely.

Why use Node.js?


We will have a look into the real worth of Node.js in the coming chapters, but what is
it that makes this framework so famous. Over the years, most of the applications were
based on a stateless request-response framework. In these sort of applications, it is up
to the developer to ensure the right code was put in place to ensure the state of web
session was maintained while the user was working with the system.

But with Node.js web applications, you can now work in real-time and have a 2-way
communication. The state is maintained, and either the client or server can start the
communication.

Features of Node.js
Let's look at some of the key features of Node.js

1. Asynchronous event-driven IO helps concurrent request handling – This is


probably the most significant selling point of Node.js. This feature basically
means that if a request is received by Node for some Input/Output operation, it
will execute the operation in the background and continue with processing
other requests.

This is quite different from other programming languages. A simple example of


this is given in the code below

var fs = require('fs');
fs.readFile("Sample.txt",function(error,data)
{
console.log("Reading Data completed");
});

 The above code snippet looks at reading a file called Sample.txt. In other
programming languages, the next line of processing would only happen once
the entire file is read.
 But in the case of Node.js the important fraction of code to notice is the
declaration of the function ('function(error,data)'). This is known as a callback
function.
 So what happens here is that the file reading operation will start in the
background. And other processing can happen simultaneously while the file is
being read. Once the file read operation is completed, this anonymous function
will be called, and the text "Reading Data completed" will be written to the
console log.
2. Node uses the V8 JavaScript Runtime engine, the one which is used by Google
Chrome. Node has a wrapper over the JavaScript engine which makes the
runtime engine much faster and hence the processing of requests within Node
also become faster.
3. Handling of concurrent requests – Another key functionality of Node is the
ability to handle concurrent connections with a very minimal overhead on a
single process.
4. The Node.js library uses JavaScript – This is another important aspect of
development in Node.js. A major part of the development community is
already well versed in javascript, and hence, development in Node.js becomes
easier for a developer who knows javascript.
5. There is an active and vibrant community for the Node.js framework. Because
of the active community, there are always keys updates made available to the
framework. This helps to keep the framework always up-to-date with the latest
trends in web development.

Who uses Node.js


Node.js is used by many large companies. Below is a list of a few of them.

 Paypal – A lot of sites within Paypal have also started the transition onto
Node.js.
 LinkedIn - LinkedIn is using Node.js to power their Mobile Servers, which
powers the iPhone, Android, and Mobile Web products.
 Mozilla has implemented Node.js to support browser APIs which has half a
billion installs.
 eBay hosts their HTTP API service in Node.js

When to Use Node.js


Node.js is best for usage in streaming or event-based real-time applications like

1. Chat applications
2. Game servers – Fast and high-performance servers that need to processes
thousands of requests at a time, then this is an ideal framework.
3. Good forcollaborative environment – This is good for environments which
manage documents. In a document management environment, you will have
multiple people who post their documents and do constant changes by checking
out and checking in documents. So Node.js is good for these environments
because the event loop in Node.js can be triggered whenever documents are
changed in a document managed environment.
4. Advertisement servers – Again here you could have thousands of request to
pull advertisements from the central server and Node.js can be an ideal
framework to handle this.
5. Streaming servers – Another ideal scenario to use Node is for multimedia
streaming servers wherein clients have request's to pull different multimedia
contents from this server.

Node.js is good when you need high levels of concurrency but less amount of
dedicated CPU time.

Best of all, since Node.js is built on javascript, it's best suited when you build client-
side applications which are based on the same javascript framework.

When to not use Node.js


Node.js can be used for a lot of applications with various purposes. The only scenario
where it should not be used is where there are long processing times, which is
required by the application.

Node is structured to be single-threaded. If an application is required to carry out


some long-running calculations in the background, it won't be able to process any
other requests. As discussed above, Node.js is used best where processing needs less
dedicated CPU time.

You might also like