• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introduction to node.js
 

Introduction to node.js

on

  • 3,315 views

Quick introduction to node.js on WebExpo 2010

Quick introduction to node.js on WebExpo 2010

Statistics

Views

Total Views
3,315
Views on SlideShare
3,092
Embed Views
223

Actions

Likes
6
Downloads
43
Comments
0

9 Embeds 223

http://webexpo.cz 143
http://webexpo.net 43
http://www.linkedin.com 22
http://webexpo.innit.cz 8
http://localhost 3
http://debook:8000 1
http://www.webexpo.net 1
http://test.webexpo.cz 1
https://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • Example 0 - async <br /> switch lines and test <br /> <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • Example 1 - server <br /> Example 2 - dns <br /> show node API docs <br />
  • modules example, node modules, npm <br />
  • modules example, node modules, npm <br />
  • modules example, node modules, npm <br />
  • modules example, node modules, npm <br />
  • modules example, node modules, npm <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • Scrabbly (http://scrabb.ly/), Swarmnation (http://swarmation.com/), Serrano (http://starcraft2destroyedmymarrage.no.de/) <br />
  • <br />

Introduction to node.js Introduction to node.js Presentation Transcript

  • node.js Jakub Nesetril jakub.nesetril@gmail.com
  • Who Are You?
  • Who Are You? • JS
  • Who Are You? • JS • Ruby
  • Who Are You? • JS • Ruby • web
  • Who Are You? • JS • Ruby • web • what real language do you speak?
  • TOC
  • TOC • blocking vs. non-blocking intro
  • TOC • blocking vs. non-blocking intro • short introduction to node.js
  • TOC • blocking vs. non-blocking intro • short introduction to node.js • examples
  • TOC • blocking vs. non-blocking intro • short introduction to node.js • examples • Q&A
  • Tags
  • Tags • #javascript , #v8 , #ssjs
  • Tags • #javascript , #v8 , #ssjs • #event-oriented
  • Tags • #javascript , #v8 , #ssjs • #event-oriented • #high-performance
  • Tags • #javascript , #v8 , #ssjs • #event-oriented • #high-performance • #asynchronous , #non-blocking
  • Tags • #javascript , #v8 , #ssjs • #event-oriented • #high-performance • #asynchronous , #non-blocking • #low-level
  • Tags • #javascript , #v8 , #ssjs • #event-oriented • #high-performance • #asynchronous , #non-blocking • #low-level • #fun!
  • What’s missing?
  • Tags • #javascript , #v8 , #ssjs • #event-oriented • #high-performance • #asynchronous , #non-blocking • #low-level • #stable , #mature (not!)
  • (non-) Blocking IO
  • (non-) Blocking IO • var rows = db.query(“SELECT * FROM…)
  • (non-) Blocking IO • var rows = db.query(“SELECT * FROM…) • rows.forEach…
  • (non-) Blocking IO • db.query(“SELECT * FROM…”, function(rows) { rows.forEach… });
  • Why isn’t everybody doing it?
  • Why isn’t everybody doing it? • non-blocking can be hard
  • Why isn’t everybody doing it? • non-blocking can be hard • JS is an ideal language / community for this
  • Why isn’t everybody doing it? • non-blocking can be hard • JS is an ideal language / community for this • Ajax / DOM has taught events to millions of people
  • Why isn’t everybody doing it? • non-blocking can be hard • JS is an ideal language / community for this • Ajax / DOM has taught events to millions of people • node.js = network servers in JS
  • Example 1
  • Design Principles
  • Design Principles • non-blocking - every IO must take callback
  • Design Principles • non-blocking - every IO must take callback • API should be familiar to client-side JS programmers ans old school UNIX hackers
  • Design Principles • non-blocking - every IO must take callback • API should be familiar to client-side JS programmers ans old school UNIX hackers • built-in support for HTTP, DNS, TLS
  • Design Principles • non-blocking - every IO must take callback • API should be familiar to client-side JS programmers ans old school UNIX hackers • built-in support for HTTP, DNS, TLS • support advanced features (chunked encoding, pipelining, hanging requests for websockets etc.)
  • Example 2
  • Ecosystem
  • Ecosystem • node modules (CommonJS)
  • Ecosystem • node modules (CommonJS) • npm
  • Ecosystem • node modules (CommonJS) • npm • connect & express
  • Ecosystem • node modules (CommonJS) • npm • connect & express • node-inspector
  • Ecosystem • node modules (CommonJS) • npm • connect & express • node-inspector • bounce
  • Advanced Topics
  • Advanced Topics • WebSockets
  • Advanced Topics • WebSockets • Server-side DOM
  • Advanced Topics • WebSockets • Server-side DOM • Performance
  • Advanced Topics • WebSockets • Server-side DOM • Performance • Hosting
  • NodeKnockout
  • Q&A