Slide 1

Slide 1 text

Intro to node.js @thanpolas Nov 2016 Revised

Slide 2

Slide 2 text

Core Concepts

Slide 3

Slide 3 text

Why Node? ● Asynchronous ● Robust ● Blazingly FAST ● Javascript / Browserify / React ● Largest growth year over year ● Largest frontend tool belt

Slide 4

Slide 4 text

Asynchronous ● Event Based Development ● Real Time Applications ● Single Threaded ● Non Blocking I/O

Slide 5

Slide 5 text

Robust ● Very small footprint / stack ● Hundreds thousand production installations ● Easily Scalable ● Every major company is deploying node ○ Yahoo ○ Paypal ○ eBay ○ LinkedIn

Slide 6

Slide 6 text

Blazingly Fast ● Superior V8 engine under the hood ● 2x speed compared to Threaded langs ○ PHP ○ Java ○ Ruby ● Wins both in RPS and Response Time

Slide 7

Slide 7 text

Why Blazingly Fast source: http://strongloop.com/strongblog/node-js-is-faster-than-java/

Slide 8

Slide 8 text

Javascript & the Web ● Javascript is the Lingua Franca of the web ● Huge & Growing developer pool ● Minimum context switching for back / front ● Websockets / Isomorphic applications

Slide 9

Slide 9 text

Largest Growth source: http://www.modulecounts.com/ ● 95k NPM Modules ● Grows at 159m/day ● Second is Maven with 73/d That was Jul 2014...

Slide 10

Slide 10 text

Largest Growth source: http://www.modulecounts.com/ ● 351k NPM Modules ● Grows at 421/day This is Nov 2016

Slide 11

Slide 11 text

Largest Frontend Tool Belt

Slide 12

Slide 12 text

A Quick Look Under the Hood

Slide 13

Slide 13 text

Philosophy ● No Frameworks ● Small reusable libraries ● NPM ● Open Source

Slide 14

Slide 14 text

A Typical Node Web App Your App Core HTTP ExpressJS

Slide 15

Slide 15 text

Middleware Pattern HTTP Request Express JS Matched Route CORS Middleware CSRF Middleware Auth Middleware Main Task HTTP Response

Slide 16

Slide 16 text

Thank you! Thanasis Polychronakis @thanpolas [email protected] #SKGNode Meetup Group: http://bit.ly/skgnode Slides: http://bit.ly/nodeIntro

Slide 17

Slide 17 text

Questions? Thanasis Polychronakis @thanpolas [email protected] #SKGNode Meetup Group: http://bit.ly/skgnode Slides: http://bit.ly/nodeIntro