SlideShare a Scribd company logo
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
NodeJS for Beginner
PDF
Introduction to Node.js
PPTX
Introduction to node.js
PDF
An Introduction of Node Package Manager (NPM)
PPTX
Node js Introduction
PPTX
NodeJS - Server Side JS
PPTX
Introduction Node.js
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
NodeJS for Beginner
Introduction to Node.js
Introduction to node.js
An Introduction of Node Package Manager (NPM)
Node js Introduction
NodeJS - Server Side JS
Introduction Node.js

What's hot (20)

PPTX
Express js
PPTX
Node js for beginners
PPTX
NodeJS guide for beginners
PPTX
Basic Concept of Node.js & NPM
PDF
Spring Framework - MVC
PDF
Workshop 4: NodeJS. Express Framework & MongoDB.
PPTX
Express JS
PPTX
Introduction to Node.js
PPTX
Introduction to Node js
PPTX
Introduction to NodeJS
PDF
Nginx Essential
PPT
React js
PPTX
.Net Core
PPTX
Introduction to .NET Core
PPT
Node.js Express Framework
PDF
Fundamental of Node.JS - Internship Presentation - Week7
PDF
Nodejs vatsal shah
PPTX
What Is Express JS?
PDF
Top 50 Node.js Interview Questions and Answers | Edureka
PPTX
Introduction to Node.js
Express js
Node js for beginners
NodeJS guide for beginners
Basic Concept of Node.js & NPM
Spring Framework - MVC
Workshop 4: NodeJS. Express Framework & MongoDB.
Express JS
Introduction to Node.js
Introduction to Node js
Introduction to NodeJS
Nginx Essential
React js
.Net Core
Introduction to .NET Core
Node.js Express Framework
Fundamental of Node.JS - Internship Presentation - Week7
Nodejs vatsal shah
What Is Express JS?
Top 50 Node.js Interview Questions and Answers | Edureka
Introduction to Node.js
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...
PPTX
Building Applications With the MEAN Stack
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
Server Side Web Development Unit 1 of Nodejs.pptx
PDF
Live Node.JS Training
PPTX
Kalp Corporate Node JS Perfect Guide
PDF
Node JS Express: Steps to Create Restful Web App
DOCX
unit 2 of Full stack web development subject
DOCX
node.js interview questions and answers.
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...
Building Applications With the MEAN Stack
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
Server Side Web Development Unit 1 of Nodejs.pptx
Live Node.JS Training
Kalp Corporate Node JS Perfect Guide
Node JS Express: Steps to Create Restful Web App
unit 2 of Full stack web development subject
node.js interview questions and answers.
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
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Approach and Philosophy of On baking technology
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Electronic commerce courselecture one. Pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation theory and applications.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Empathic Computing: Creating Shared Understanding
Approach and Philosophy of On baking technology
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Electronic commerce courselecture one. Pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation theory and applications.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
NewMind AI Monthly Chronicles - July 2025
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Machine learning based COVID-19 study performance prediction

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