Building realtime web apps using node.js, socket.io and knockout.js

Preview:

DESCRIPTION

Building realtime web apps using node.js, socket.io and knockout.js

Citation preview

Building real-time apps with node.js, socket.io

and knockout.js

Iván Loire

twitter: @ivanloire

email: ivan@iloire.com

Friday, March 9, 2012

node.js

high performance javascript library for intensive I/O operations. (like HTTP)

single threaded, event oriented.

built on Chrome’s Javascript runtime (V8)

lightweight, efficient, really fast.

.. insanely fast.

Friday, March 9, 2012

websockets

bi-directional, full duplex over a single tcp socket.

connection remains open = no tcp handshake

lightweight protocol = no http headers, 2 byte overhead

supported chrome 16, FF 11, IE 10, Opera 10

reducing latency from 150 (http) to 50 ms (sockets)

Friday, March 9, 2012

socket.iowebsockets for the rest of us.

fallback transports (yes, it also works in IE!!)

websockets

flash sockets

ajax long polling

ajax streaming

iframe

json polling..

Friday, March 9, 2012

knockout.js

rich, responsive display with a clean underlying data model.

declarative bindinds

automatic UI refresh

dependency tracking

templating

Friday, March 9, 2012

... and a fast database!

open source, high performance, in-memory, key-value data store

support master-slave replication

really fast!

if durability is not needed... insanely fast!

Friday, March 9, 2012

real-time apps web

node.js + redis + socket.io + knockout.js

real-time... or close enough?

Friday, March 9, 2012

now let’s build a really simple real-time game...

https://github.com/iloire/math-race

thanks to @gimenete for getting me into node.js!... and thanks to @jmendiara for the node.js sticker!

Friday, March 9, 2012

Recommended