introduction to node - mathunipdtullio/is-1/2015/materiale/...ecmascript 6 june 2015: fat arrows...

12
Introduction to Node.js 1

Upload: others

Post on 27-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

Introduction to Node.js

1

Page 2: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

Atwood’s Law“any application that can be written in JavaScript, will eventually be written in JavaScript.”

-- Jeff Atwood, Stack Overflow Co-founder. Source: http://blog.codinghorror.com/the-principle-of-least-power/

2

Page 4: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

http://bellard.org/jslinux/ 4

Page 5: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

ECMAScript 6June 2015: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

● Fat arrows function● Classes● Destructuring● Promises● Modules● Generators

5

Page 6: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

What is Node.js“Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.”

Allows you to build scalable network applications using JavaScript on the server-side.

6

Page 7: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

Blocking

7

Page 8: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

Non blocking

8

Page 9: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

● Run entirely in a single thread● Passes I/O requests to the event loop, along with callbacks

Your code then:

● Goes to sleep● Uses no system resources

● Will be notified via callback when I/O is complete

9

Page 10: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

Event Loop

10

Page 11: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

Event Loop

11

Page 12: Introduction to Node - MathUniPDtullio/IS-1/2015/Materiale/...ECMAScript 6 June 2015:  Fat arrows function Classes Destructuring Run entirely in a single

12