building realtime web apps using node.js, socket.io and knockout.js
DESCRIPTION
Building realtime web apps using node.js, socket.io and knockout.jsTRANSCRIPT
Building real-time apps with node.js, socket.io
and knockout.js
Iván Loire
twitter: @ivanloire
email: [email protected]
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