What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js Training | Edureka
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Agenda
Why Node.js?
1
What is Node.js?
2
Success Stories
3
Node.js Modules
4
Demo
5
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Why Node.js?
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Client Server Architecture
Client Server Architecture:
Request
Response
DatabasesServer
ApplicationUsers
Interacts
Interacts
Interacts
Interacts
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Multi Thread Model
Each request is handled by a separate thread
DatabasesServerClients Thread
thread A
thread B
thread C
Handle Request
A
Handle Request
B
Handle Request
C
……
Request A
Response A
Request B
Response B
Request C
Response C
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Multi Thread Model
▪ In multi-threaded model, for every request server
creates a separate thread which handles that
request
▪ If a thread acquires a lock in the shared resource
and it is ‘exclusive lock’, it will block other threads.
DatabasesThread Request
C
…
B
A
Handling Request A
Thread B C … are
blocked
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
B
Single Threaded Model
▪ Node.js is event driven, handling all requests asynchronously from single thread
▪ Almost no function in Node directly performs I/O, so the process never blocks
C
A
Event
Emitters
Event Queue
Event Loop
(Single - threaded)
File System
Network
Process
Other
Thread Pool
Users
Databases
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Multi-Threaded vs Event Driven
Multi-Threaded Asynchronous Event-driven
Lock application / request with listener-workers threads Only one thread, which repeatedly fetches an event
Using incoming-request model Using queue and then processes it
Multithreaded server might block the request which might involve
multiple events
Manually saves state and then goes on to process the next event
Using context switching No contention and no context switches
Using multithreading environments where listener and workers
threads are used frequently to take an incoming-request lock
Using asynchronous I/O facilities (callbacks, not poll/select or
O_NONBLOCK) environments
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Uber Story
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Uber Old Architecture
• Since PHP is a multithreaded language , each user’s request is handled in a separate thread
• Reason was car dispatch operation was executed from multiple threads
• Once one car is dispatched for a user, in between the same car get dispatched to another user
MySQL
Database
Server
UBER
Application
PHP for Server-side
scripting
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Uber New Architecture
Real-time Logic
Dispatch State
(MongoDB)
Dispatch (NodeJS)
Business Logic
Python
Persistent Storage
(MySQL)
❖ Well-suited for distributed systems that
make a lot of network requests
❖ Errors can be addressed on the fly without
requiring a restart
❖ Active open source community
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
What is Node.js ?
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
What is Node.js ?
▪ Node.js is an open source runtime environment for server-side and networking applications and is single threaded.
▪ Uses Google JavaScript V8 Engine to execute code.
▪ It is cross platform environment and can run on OS X, Microsoft Windows, Linux and FreeBSD.
▪ Provides an event driven architecture and non blocking I/O that is optimized and scalable.
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Success Stories
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Success Stories
Nexflix used JavaScript and NodeJS to transform
their website into a single page application.
PayPal team developed the application
simultaneously using Java and Javascript. The
JavaScript team build the product both faster
and more efficiently.
Uber has built its massive driver / rider matching
system on Node.js Distributed Web Architecture.
Node enables to build quality applications,
deploy new features, write unit and integration
tests easily.
When LinkedIn went to rebuild their Mobile
application they used Node.js for their Mobile
application server which acts as a REST endpoint
for Mobile devices.
They had two primary requirements: first to
make the application as real time as possible.
Second was to orchestrate a huge number of
eBay-specific services.
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Job Trends
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Node.js Job Trend
Indeed: Job Posting (Node.js)
2017
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Node.js Features
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Node.js Features
Asynchronous and Event Driven :
▪ When request is made to server, instead of waiting for the request to complete, server continues to
process other requests
▪ When request processing completes, the response is sent to caller using callback mechanism
Caller Recipient
request
response
callback
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Node.js Features
No Buffering
Node.js applications never buffer any data. These
applications simply output the data in chunks.
Very Fast
Being built on Google Chrome's V8 JavaScript Engine,
Node.js library is very fast in code execution.
Single Threaded but Highly Scalable
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.
Fast Performance
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js Installation
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js First Example
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js First Example
Create a Directory: mkdir node_example1
Create a File: first_example.js2
Go to the node_example directory3
Execute the java script file: node first_example.js4
2
1
3
4
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Blocking vs Non - Blocking
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Blocking vs Non-Blocking
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Blocking vs Non-Blocking
➢ Blocking is when the execution of additional JavaScript in the Node.js process must wait until a non-JavaScript operation completes.
➢ "I/O" refers primarily to interaction with the system's disk and network supported by libuv.
More methods will be blocked till the
read method is not executed
More method will execute
asynchronously
var fs = require("fs");
// Asynchronous read
fs.readFile(‘test.txt', function (err, data) { });
var fs = require("fs");
// Synchronous read
var data = fs.readFileSync('input.txt');
Blocking I/O Non-Blocking I/O
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
NPM
▪ NPM => Node Package Manager
▪ Provides online repositories for node.js packages/modules
▪ Provides command line utility to install Node.js packages
npm install
Install all the modules as specified in
package.json
npm install <Module Name> Install Module using npm
npm install <Module Name> -g Install dependency globally
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Global Objects
These objects are available in all modules
specifies the name of the directory that currently contains the code.__dirname
specifies the name of the file that currently contains the code.__filename
A timer in Node.js is an internal construct that calls a given function after a certain period of time
setTimeout(callback, delay[, ...args]) setInterval(callback, delay[, ...args]) setImmediate(callback, [,..args])
1 2 3
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
File System
File I/O is provided by simple wrappers around standard POSIX functions
FS Methods
Asynchronous
Forms
Synchronous
Forms
var fs = require("fs");
// Asynchronous read
fs.readFile(‘test.txt', function (err, data) { });
var fs = require("fs");
var fs = require("fs");
// Synchronous read
var data = fs.readFileSync('input.txt');
Callback As Last Arg.
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Methods in File System Module
fs.open( path, flags[, mode], callback )
fs.openSync( path, flags[, mode] )
fs.close( fd, callback )
Open File Asynchronously
Open File Synchronously
Closing File
read(fd, buffer, offset, length, position, callback)
readFile(file[, options], callback)
readFileSync(file[, options])
Read Content of a File into Buffer
Reads File Asynchronously
Reads File Synchronously
Opening a File
Reading from a file
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Methods in File System Module
writeFile(file, data[, options], callback)
writeFileSync(file, data[, options])
Open File Asynchronously
Open File Synchronously
Writing in a File
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
var fs = require("fs");
// Asynchronous read
fs.readFile(‘test.txt', function (err, data) { });
Callback
Callback is an asynchronous equivalent for a function and is called at the completion of each task
Callback: will execute after
file read is complete
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Events
▪ Node.js follows event-driven architecture
▪ Certain objects (emitters) periodically emit events which further invokes the listeners
▪ Node.js provide concurrency by using the concept of events and callbacks
▪ All objects that emit events are instances of the EventEmitter class
Import Events Module
Creating object of EventEmitter
Emitting event
Registering Listener and
defining event handler
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
HTTP
Import Required Modules
Creating Server
Parse the fetched URL to get pathname
Request file to be read from file system (index.html)
Creating Header with content type as text or HTML
Generating Response
Listening to port: 3000
▪ To use the HTTP server and client one must require('http')
▪ The HTTP interfaces in Node.js are designed to support many features of the protocol
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/angular-js
Thank You …
Questions/Queries/Feedback

More Related Content

PDF
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
PDF
Use Node.js to create a REST API
PPTX
Express js
PPTX
Basic Concept of Node.js & NPM
PDF
NodeJS for Beginner
PDF
React JS - Introduction
PPTX
React JS - A quick introduction tutorial
PDF
Git interview questions | Edureka
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Use Node.js to create a REST API
Express js
Basic Concept of Node.js & NPM
NodeJS for Beginner
React JS - Introduction
React JS - A quick introduction tutorial
Git interview questions | Edureka

What's hot (20)

PDF
Top 50 Node.js Interview Questions and Answers | Edureka
PPTX
Intro to React
PPTX
Introduction to React JS for beginners
PPTX
Introduction to Node.js
PDF
TypeScript Introduction
PDF
Angular - Chapter 4 - Data and Event Handling
PDF
Domain Driven Design
PPTX
React Native
PDF
Nodejs presentation
PPTX
Spring boot Introduction
PPTX
Automated Test Framework with Cucumber
PPTX
Build RESTful API Using Express JS
PPT
Node.js Basics
PPTX
How native is React Native? | React Native vs Native App Development
PDF
TypeScript: coding JavaScript without the pain
PPT
Spring Core
PPTX
Introduction to NodeJS
PDF
Introduction to Redux
PPTX
Node.js Express
PPTX
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
Top 50 Node.js Interview Questions and Answers | Edureka
Intro to React
Introduction to React JS for beginners
Introduction to Node.js
TypeScript Introduction
Angular - Chapter 4 - Data and Event Handling
Domain Driven Design
React Native
Nodejs presentation
Spring boot Introduction
Automated Test Framework with Cucumber
Build RESTful API Using Express JS
Node.js Basics
How native is React Native? | React Native vs Native App Development
TypeScript: coding JavaScript without the pain
Spring Core
Introduction to NodeJS
Introduction to Redux
Node.js Express
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
Ad

Similar to What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js Training | Edureka (20)

PDF
Complete MVC on NodeJS
PDF
Node Java Script topic in digital marketing
PDF
Create Restful Web Application With Node.js Express Framework
PDF
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
PDF
Fundamental of Node.JS - Internship Presentation - Week7
PPTX
Building Applications With the MEAN Stack
PDF
Introduction to Node.js
PPT
Node js
PDF
Node JS Roadmap for Beginners By Scholarhat PDF
PPTX
Introduction to Node.JS
PPTX
Introduction to node.js by jiban
PPTX
Node.js on Azure
PPTX
Oracle application container cloud back end integration using node final
PDF
Developing realtime apps with Drupal and NodeJS
KEY
An Introduction to Node.js Development with Windows Azure
PPTX
Node.js tutoria for beginner
PPTX
Node js Introduction
PPTX
Server Side Web Development Unit 1 of Nodejs.pptx
PDF
Live Node.JS Training
PPTX
Kalp Corporate Node JS Perfect Guide
Complete MVC on NodeJS
Node Java Script topic in digital marketing
Create Restful Web Application With Node.js Express Framework
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Fundamental of Node.JS - Internship Presentation - Week7
Building Applications With the MEAN Stack
Introduction to Node.js
Node js
Node JS Roadmap for Beginners By Scholarhat PDF
Introduction to Node.JS
Introduction to node.js by jiban
Node.js on Azure
Oracle application container cloud back end integration using node final
Developing realtime apps with Drupal and NodeJS
An Introduction to Node.js Development with Windows Azure
Node.js tutoria for beginner
Node js Introduction
Server Side Web Development Unit 1 of Nodejs.pptx
Live Node.JS Training
Kalp Corporate Node JS Perfect Guide
Ad

More from Edureka! (20)

PDF
What to learn during the 21 days Lockdown | Edureka
PDF
Top 10 Dying Programming Languages in 2020 | Edureka
PDF
Top 5 Trending Business Intelligence Tools | Edureka
PDF
Tableau Tutorial for Data Science | Edureka
PDF
Python Programming Tutorial | Edureka
PDF
Top 5 PMP Certifications | Edureka
PDF
Top Maven Interview Questions in 2020 | Edureka
PDF
Linux Mint Tutorial | Edureka
PDF
How to Deploy Java Web App in AWS| Edureka
PDF
Importance of Digital Marketing | Edureka
PDF
RPA in 2020 | Edureka
PDF
Email Notifications in Jenkins | Edureka
PDF
EA Algorithm in Machine Learning | Edureka
PDF
Cognitive AI Tutorial | Edureka
PDF
AWS Cloud Practitioner Tutorial | Edureka
PDF
Blue Prism Top Interview Questions | Edureka
PDF
Big Data on AWS Tutorial | Edureka
PDF
A star algorithm | A* Algorithm in Artificial Intelligence | Edureka
PDF
Kubernetes Installation on Ubuntu | Edureka
PDF
Introduction to DevOps | Edureka
What to learn during the 21 days Lockdown | Edureka
Top 10 Dying Programming Languages in 2020 | Edureka
Top 5 Trending Business Intelligence Tools | Edureka
Tableau Tutorial for Data Science | Edureka
Python Programming Tutorial | Edureka
Top 5 PMP Certifications | Edureka
Top Maven Interview Questions in 2020 | Edureka
Linux Mint Tutorial | Edureka
How to Deploy Java Web App in AWS| Edureka
Importance of Digital Marketing | Edureka
RPA in 2020 | Edureka
Email Notifications in Jenkins | Edureka
EA Algorithm in Machine Learning | Edureka
Cognitive AI Tutorial | Edureka
AWS Cloud Practitioner Tutorial | Edureka
Blue Prism Top Interview Questions | Edureka
Big Data on AWS Tutorial | Edureka
A star algorithm | A* Algorithm in Artificial Intelligence | Edureka
Kubernetes Installation on Ubuntu | Edureka
Introduction to DevOps | Edureka

Recently uploaded (20)

PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
The various Industrial Revolutions .pptx
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Five Habits of High-Impact Board Members
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Architecture types and enterprise applications.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
August Patch Tuesday
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Getting started with AI Agents and Multi-Agent Systems
The various Industrial Revolutions .pptx
A review of recent deep learning applications in wood surface defect identifi...
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
Five Habits of High-Impact Board Members
Benefits of Physical activity for teenagers.pptx
Developing a website for English-speaking practice to English as a foreign la...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Hindi spoken digit analysis for native and non-native speakers
sustainability-14-14877-v2.pddhzftheheeeee
Architecture types and enterprise applications.pdf
1 - Historical Antecedents, Social Consideration.pdf
August Patch Tuesday
Final SEM Unit 1 for mit wpu at pune .pptx
CloudStack 4.21: First Look Webinar slides
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
DP Operators-handbook-extract for the Mautical Institute
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx

What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js Training | Edureka

  • 2. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Agenda Why Node.js? 1 What is Node.js? 2 Success Stories 3 Node.js Modules 4 Demo 5
  • 3. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Why Node.js?
  • 4. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Client Server Architecture Client Server Architecture: Request Response DatabasesServer ApplicationUsers Interacts Interacts Interacts Interacts
  • 5. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Multi Thread Model Each request is handled by a separate thread DatabasesServerClients Thread thread A thread B thread C Handle Request A Handle Request B Handle Request C …… Request A Response A Request B Response B Request C Response C
  • 6. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Multi Thread Model ▪ In multi-threaded model, for every request server creates a separate thread which handles that request ▪ If a thread acquires a lock in the shared resource and it is ‘exclusive lock’, it will block other threads. DatabasesThread Request C … B A Handling Request A Thread B C … are blocked
  • 7. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js B Single Threaded Model ▪ Node.js is event driven, handling all requests asynchronously from single thread ▪ Almost no function in Node directly performs I/O, so the process never blocks C A Event Emitters Event Queue Event Loop (Single - threaded) File System Network Process Other Thread Pool Users Databases
  • 8. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Multi-Threaded vs Event Driven Multi-Threaded Asynchronous Event-driven Lock application / request with listener-workers threads Only one thread, which repeatedly fetches an event Using incoming-request model Using queue and then processes it Multithreaded server might block the request which might involve multiple events Manually saves state and then goes on to process the next event Using context switching No contention and no context switches Using multithreading environments where listener and workers threads are used frequently to take an incoming-request lock Using asynchronous I/O facilities (callbacks, not poll/select or O_NONBLOCK) environments
  • 10. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Uber Old Architecture • Since PHP is a multithreaded language , each user’s request is handled in a separate thread • Reason was car dispatch operation was executed from multiple threads • Once one car is dispatched for a user, in between the same car get dispatched to another user MySQL Database Server UBER Application PHP for Server-side scripting
  • 11. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Uber New Architecture Real-time Logic Dispatch State (MongoDB) Dispatch (NodeJS) Business Logic Python Persistent Storage (MySQL) ❖ Well-suited for distributed systems that make a lot of network requests ❖ Errors can be addressed on the fly without requiring a restart ❖ Active open source community
  • 12. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js What is Node.js ?
  • 13. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js What is Node.js ? ▪ Node.js is an open source runtime environment for server-side and networking applications and is single threaded. ▪ Uses Google JavaScript V8 Engine to execute code. ▪ It is cross platform environment and can run on OS X, Microsoft Windows, Linux and FreeBSD. ▪ Provides an event driven architecture and non blocking I/O that is optimized and scalable.
  • 15. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Success Stories Nexflix used JavaScript and NodeJS to transform their website into a single page application. PayPal team developed the application simultaneously using Java and Javascript. The JavaScript team build the product both faster and more efficiently. Uber has built its massive driver / rider matching system on Node.js Distributed Web Architecture. Node enables to build quality applications, deploy new features, write unit and integration tests easily. When LinkedIn went to rebuild their Mobile application they used Node.js for their Mobile application server which acts as a REST endpoint for Mobile devices. They had two primary requirements: first to make the application as real time as possible. Second was to orchestrate a huge number of eBay-specific services.
  • 17. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Node.js Job Trend Indeed: Job Posting (Node.js) 2017
  • 18. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Node.js Features
  • 19. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Node.js Features Asynchronous and Event Driven : ▪ When request is made to server, instead of waiting for the request to complete, server continues to process other requests ▪ When request processing completes, the response is sent to caller using callback mechanism Caller Recipient request response callback
  • 20. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Node.js Features No Buffering Node.js applications never buffer any data. These applications simply output the data in chunks. Very Fast Being built on Google Chrome's V8 JavaScript Engine, Node.js library is very fast in code execution. Single Threaded but Highly Scalable 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. Fast Performance
  • 23. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js First Example Create a Directory: mkdir node_example1 Create a File: first_example.js2 Go to the node_example directory3 Execute the java script file: node first_example.js4 2 1 3 4
  • 26. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Blocking vs Non-Blocking ➢ Blocking is when the execution of additional JavaScript in the Node.js process must wait until a non-JavaScript operation completes. ➢ "I/O" refers primarily to interaction with the system's disk and network supported by libuv. More methods will be blocked till the read method is not executed More method will execute asynchronously var fs = require("fs"); // Asynchronous read fs.readFile(‘test.txt', function (err, data) { }); var fs = require("fs"); // Synchronous read var data = fs.readFileSync('input.txt'); Blocking I/O Non-Blocking I/O
  • 27. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 28. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING NPM ▪ NPM => Node Package Manager ▪ Provides online repositories for node.js packages/modules ▪ Provides command line utility to install Node.js packages npm install Install all the modules as specified in package.json npm install <Module Name> Install Module using npm npm install <Module Name> -g Install dependency globally
  • 29. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 30. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Global Objects These objects are available in all modules specifies the name of the directory that currently contains the code.__dirname specifies the name of the file that currently contains the code.__filename A timer in Node.js is an internal construct that calls a given function after a certain period of time setTimeout(callback, delay[, ...args]) setInterval(callback, delay[, ...args]) setImmediate(callback, [,..args]) 1 2 3
  • 31. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 32. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING File System File I/O is provided by simple wrappers around standard POSIX functions FS Methods Asynchronous Forms Synchronous Forms var fs = require("fs"); // Asynchronous read fs.readFile(‘test.txt', function (err, data) { }); var fs = require("fs"); var fs = require("fs"); // Synchronous read var data = fs.readFileSync('input.txt'); Callback As Last Arg.
  • 33. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Methods in File System Module fs.open( path, flags[, mode], callback ) fs.openSync( path, flags[, mode] ) fs.close( fd, callback ) Open File Asynchronously Open File Synchronously Closing File read(fd, buffer, offset, length, position, callback) readFile(file[, options], callback) readFileSync(file[, options]) Read Content of a File into Buffer Reads File Asynchronously Reads File Synchronously Opening a File Reading from a file
  • 34. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Methods in File System Module writeFile(file, data[, options], callback) writeFileSync(file, data[, options]) Open File Asynchronously Open File Synchronously Writing in a File
  • 35. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 36. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING var fs = require("fs"); // Asynchronous read fs.readFile(‘test.txt', function (err, data) { }); Callback Callback is an asynchronous equivalent for a function and is called at the completion of each task Callback: will execute after file read is complete
  • 37. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 38. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Events ▪ Node.js follows event-driven architecture ▪ Certain objects (emitters) periodically emit events which further invokes the listeners ▪ Node.js provide concurrency by using the concept of events and callbacks ▪ All objects that emit events are instances of the EventEmitter class Import Events Module Creating object of EventEmitter Emitting event Registering Listener and defining event handler
  • 39. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 40. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING HTTP Import Required Modules Creating Server Parse the fetched URL to get pathname Request file to be read from file system (index.html) Creating Header with content type as text or HTML Generating Response Listening to port: 3000 ▪ To use the HTTP server and client one must require('http') ▪ The HTTP interfaces in Node.js are designed to support many features of the protocol
  • 41. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/angular-js Thank You … Questions/Queries/Feedback