Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Intro to Node.js

Intro to Node.js

An introduction to Node.js

Cbb9cafe03e785d80a9aa973c5e43c44?s=128

Thanos Polychronakis

September 10, 2014
Tweet

Transcript

  1. Intro to node.js @thanpolas Nov 2016 Revised

  2. Core Concepts

  3. Why Node? • Asynchronous • Robust • Blazingly FAST •

    Javascript / Browserify / React • Largest growth year over year • Largest frontend tool belt
  4. Asynchronous • Event Based Development • Real Time Applications •

    Single Threaded • Non Blocking I/O
  5. Robust • Very small footprint / stack • Hundreds thousand

    production installations • Easily Scalable • Every major company is deploying node ◦ Yahoo ◦ Paypal ◦ eBay ◦ LinkedIn
  6. Blazingly Fast • Superior V8 engine under the hood •

    2x speed compared to Threaded langs ◦ PHP ◦ Java ◦ Ruby • Wins both in RPS and Response Time
  7. Why Blazingly Fast source: http://strongloop.com/strongblog/node-js-is-faster-than-java/

  8. Javascript & the Web • Javascript is the Lingua Franca

    of the web • Huge & Growing developer pool • Minimum context switching for back / front • Websockets / Isomorphic applications
  9. Largest Growth source: http://www.modulecounts.com/ • 95k NPM Modules • Grows

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

    at 421/day This is Nov 2016
  11. Largest Frontend Tool Belt

  12. A Quick Look Under the Hood

  13. Philosophy • No Frameworks • Small reusable libraries • NPM

    • Open Source
  14. A Typical Node Web App Your App Core HTTP ExpressJS

  15. Middleware Pattern HTTP Request Express JS Matched Route CORS Middleware

    CSRF Middleware Auth Middleware Main Task HTTP Response
  16. Thank you! Thanasis Polychronakis @thanpolas thanpolas@gmail.com #SKGNode Meetup Group: http://bit.ly/skgnode

    Slides: http://bit.ly/nodeIntro
  17. Questions? Thanasis Polychronakis @thanpolas thanpolas@gmail.com #SKGNode Meetup Group: http://bit.ly/skgnode Slides:

    http://bit.ly/nodeIntro