SlideShare a Scribd company logo
JS & Node.js
An Intro to fastest growing technology based on JS
JSA language which is
common for all
programmers.
JS Evolution
Phase 0: Birth
Created in 10 days in May 1995 by Brendan Eich, In 1996 - 1997 JavaScript was taken
to ECMA to carve out a standard specification.

Phase 1: Browsers war 1 (1996 - 2001)
During this period, the standards process continued in cycles, with releases of ECMAScript 2
in 1998 and ECMAScript 3 in 1999, which is the baseline for modern day JavaScript.

Microsoft won the war with IE6( own version of JS).

Phase 2: The Years of Struggle
ECMAScript3.1 & 4 took almost 8 years of development and ES4 was finally scrapped.

Following were the features of ES4, which was implemented into ActionScript by Adobe.

Classes, Interfaces, Namespaces, Packages, Optional type annotations, Optional static type
checking, Structural types, Type definitions, Multimethods, Parameterized types, Proper tail
calls, Iterators, Generators, Instrospection, Type discriminating exception handlers, Constant
bindings, Proper block scoping, Destructuring, Succint function expressions, Array
comprehensions
Rebirth Of JS
After the long struggle of ECMAScript 4, from 2008 onwards, the community focused on
ECMAScript 3.1. In the year 2009 ECMAScript 3.1 was completed and signed-off by all
involved parties. ECMAScript 4 was already recognized as a specific variant of
ECMAScript even without any proper release, so the committee decided to rename
ECMAScript 3.1 to ECMAScript 5 to avoid confusion.
ECMAScript 5 was a rather modest update to ECMAScript 3, it included:
• Getter/setters
• Trailing commas in array and object literals
• Reserved words as property names
• New Object methods (create, defineProperty, keys, seal, freeze, getOwnPropertyNames, etc.)
• New Array methods (isArray, indexOf, every, some, map, filter, reduce, etc.)
• String.prototype.trim and property access
• New Date methods (toISOString, now, toJSON)
• Function bind
• JSON
• Immutable global objects (undefined, NaN, Infinity)
• Strict mode
• Other minor changes (parseInt ignores leading zeroes, thown functions have proper this values, etc.)
JavaScript engines
• Rhino - managed by the Mozilla Foundation, open source, developed entirely in Java

• SpiderMonkey - the first JavaScript engine, which powered Netscape Navigator and today
powers Firefox

• V8 - open source, developed by Google in Denmark, part of Google Chrome

• JavaScriptCore - open source, marketed as Nitro and developed by Apple for Safari

• KJS - KDE's ECMAScript/JavaScript engine originally for Konqueror web browser

• Chakra (JScript9)- for Internet Explorer

• Chakra (JavaScript) - for Microsoft Edge

• Nashorn - open source as part of OpenJDK, written by Oracle Java Languages 

• Juce - a C++ application framework, contains a custom embedded interpreter using part of
JavaScript's syntax.

• JerryScript, is an ultra-lightweight JavaScript engine for the Internet of Things.
JS with Browsers
Document Object Model(DOM): Initially Javascript was
only responsible to manipulate the area which could be
scriptable at page specifically Forms, Links and Images.
Later, all elements became scriptable and hence there were
a standard defined by W3C(World wide Web Consortium)

Browser Object Model(BOM): A set of Objects for
browsers environment which was standardised with HTML5
Node.js
A platform to run JS code.

By RYAN DAHL@2009
Pre-requsite
For
Node.js
HTML

JS

TCP/IP

HTTP/S
Node.Js
The official website (http://www.nodejs.org)
defines Node as “a platform built on Chrome’s
JavaScript runtime for easily building fast,
scalable network applications. Node.js uses an
event-driven, non-blocking I/O model that
makes it lightweight and effi- cient, perfect for
data-intensive real-time applications that run
across distributed devices.”
• V8 gives Node a huge boost in performance because it cuts out the
middle- man, preferring straight compilation into native machine code
over executing byte-code or using an interpreter.

• One Language for all (Client & server)

• JSON is native to JS

• JS is the core language for No-Sql db

• JS is the compiler target

• Asyncronous and vented

• Dirty Applications: A good example of a DIRTy application written with
Node is Browserling (brow- serling.com, shown in figure 1.3). The site
allows in-browser use of other browsers.
Key Features @Node.js
Managers for Node
NVM (Node Version Manager): Used to install and mange various version of Node at system.
NPM(Node Package Manger): Node.js gives the core programming tool with an event loop
and a low level I/O API. Hence NPM is there to install and manage third party libraries/
packages available for node.js.
There are several other package managers of node i.e Yarn, pnpm etc..

More Related Content

Similar to An Intro to Js & Node.js

Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScript
Bob German
 
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Lorenz Lo Sauer
 
Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014
Oscar Renalias
 
The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1
Haci Murat Yaman
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruiting
Ihor Odynets
 
A walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 featuresA walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 features
Michal Juhas
 
Going Offline with JS
Going Offline with JSGoing Offline with JS
Going Offline with JS
brendankowitz
 
Dmytro Kochergin Angular 2 and New Java Script Technologies
Dmytro Kochergin Angular 2 and New Java Script TechnologiesDmytro Kochergin Angular 2 and New Java Script Technologies
Dmytro Kochergin Angular 2 and New Java Script Technologies
LogeekNightUkraine
 
The short path to ecma 6
The short path to ecma 6The short path to ecma 6
The short path to ecma 6
Giorgio Natili
 
Javascript Today
Javascript TodayJavascript Today
Javascript Today
Sistek Yazılım
 
Introduction of java
Introduction  of javaIntroduction  of java
Introduction of java
Madishetty Prathibha
 
Introduction to Napa.js
Introduction to Napa.jsIntroduction to Napa.js
Introduction to Napa.js
Daiyi Peng
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
Kasey McCurdy
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
Shoaib Ghachi
 
The State of JavaScript
The State of JavaScriptThe State of JavaScript
The State of JavaScript
Domenic Denicola
 
T4T Training day - NodeJS
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJS
Tim Sommer
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
Jeff Fox
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
Alexandre Morgaut
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#
NguynSang29
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAX
Wan Leung Wong
 

Similar to An Intro to Js & Node.js (20)

Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScript
 
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
 
Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014
 
The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruiting
 
A walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 featuresA walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 features
 
Going Offline with JS
Going Offline with JSGoing Offline with JS
Going Offline with JS
 
Dmytro Kochergin Angular 2 and New Java Script Technologies
Dmytro Kochergin Angular 2 and New Java Script TechnologiesDmytro Kochergin Angular 2 and New Java Script Technologies
Dmytro Kochergin Angular 2 and New Java Script Technologies
 
The short path to ecma 6
The short path to ecma 6The short path to ecma 6
The short path to ecma 6
 
Javascript Today
Javascript TodayJavascript Today
Javascript Today
 
Introduction of java
Introduction  of javaIntroduction  of java
Introduction of java
 
Introduction to Napa.js
Introduction to Napa.jsIntroduction to Napa.js
Introduction to Napa.js
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
 
The State of JavaScript
The State of JavaScriptThe State of JavaScript
The State of JavaScript
 
T4T Training day - NodeJS
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJS
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAX
 

Recently uploaded

The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
vaishalijagtap12
 
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdfSoftware Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
kalichargn70th171
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
kalichargn70th171
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
alowpalsadig
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 

Recently uploaded (20)

The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
 
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdfSoftware Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
bgiolcb
bgiolcbbgiolcb
bgiolcb
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 

An Intro to Js & Node.js

  • 1. JS & Node.js An Intro to fastest growing technology based on JS
  • 2. JSA language which is common for all programmers.
  • 3. JS Evolution Phase 0: Birth Created in 10 days in May 1995 by Brendan Eich, In 1996 - 1997 JavaScript was taken to ECMA to carve out a standard specification. Phase 1: Browsers war 1 (1996 - 2001) During this period, the standards process continued in cycles, with releases of ECMAScript 2 in 1998 and ECMAScript 3 in 1999, which is the baseline for modern day JavaScript. Microsoft won the war with IE6( own version of JS). Phase 2: The Years of Struggle ECMAScript3.1 & 4 took almost 8 years of development and ES4 was finally scrapped. Following were the features of ES4, which was implemented into ActionScript by Adobe. Classes, Interfaces, Namespaces, Packages, Optional type annotations, Optional static type checking, Structural types, Type definitions, Multimethods, Parameterized types, Proper tail calls, Iterators, Generators, Instrospection, Type discriminating exception handlers, Constant bindings, Proper block scoping, Destructuring, Succint function expressions, Array comprehensions
  • 4. Rebirth Of JS After the long struggle of ECMAScript 4, from 2008 onwards, the community focused on ECMAScript 3.1. In the year 2009 ECMAScript 3.1 was completed and signed-off by all involved parties. ECMAScript 4 was already recognized as a specific variant of ECMAScript even without any proper release, so the committee decided to rename ECMAScript 3.1 to ECMAScript 5 to avoid confusion. ECMAScript 5 was a rather modest update to ECMAScript 3, it included: • Getter/setters • Trailing commas in array and object literals • Reserved words as property names • New Object methods (create, defineProperty, keys, seal, freeze, getOwnPropertyNames, etc.) • New Array methods (isArray, indexOf, every, some, map, filter, reduce, etc.) • String.prototype.trim and property access • New Date methods (toISOString, now, toJSON) • Function bind • JSON • Immutable global objects (undefined, NaN, Infinity) • Strict mode • Other minor changes (parseInt ignores leading zeroes, thown functions have proper this values, etc.)
  • 5. JavaScript engines • Rhino - managed by the Mozilla Foundation, open source, developed entirely in Java • SpiderMonkey - the first JavaScript engine, which powered Netscape Navigator and today powers Firefox • V8 - open source, developed by Google in Denmark, part of Google Chrome • JavaScriptCore - open source, marketed as Nitro and developed by Apple for Safari • KJS - KDE's ECMAScript/JavaScript engine originally for Konqueror web browser • Chakra (JScript9)- for Internet Explorer • Chakra (JavaScript) - for Microsoft Edge • Nashorn - open source as part of OpenJDK, written by Oracle Java Languages • Juce - a C++ application framework, contains a custom embedded interpreter using part of JavaScript's syntax. • JerryScript, is an ultra-lightweight JavaScript engine for the Internet of Things.
  • 6. JS with Browsers Document Object Model(DOM): Initially Javascript was only responsible to manipulate the area which could be scriptable at page specifically Forms, Links and Images. Later, all elements became scriptable and hence there were a standard defined by W3C(World wide Web Consortium) Browser Object Model(BOM): A set of Objects for browsers environment which was standardised with HTML5
  • 7. Node.js A platform to run JS code. By RYAN DAHL@2009
  • 9. Node.Js The official website (http://www.nodejs.org) defines Node as “a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and effi- cient, perfect for data-intensive real-time applications that run across distributed devices.”
  • 10. • V8 gives Node a huge boost in performance because it cuts out the middle- man, preferring straight compilation into native machine code over executing byte-code or using an interpreter. • One Language for all (Client & server) • JSON is native to JS • JS is the core language for No-Sql db • JS is the compiler target • Asyncronous and vented • Dirty Applications: A good example of a DIRTy application written with Node is Browserling (brow- serling.com, shown in figure 1.3). The site allows in-browser use of other browsers. Key Features @Node.js
  • 11. Managers for Node NVM (Node Version Manager): Used to install and mange various version of Node at system. NPM(Node Package Manger): Node.js gives the core programming tool with an event loop and a low level I/O API. Hence NPM is there to install and manage third party libraries/ packages available for node.js. There are several other package managers of node i.e Yarn, pnpm etc..