socket io - jszurich
TRANSCRIPT
Socket.ioRealtime just got real.
Dienstag, 24. April 12
Me
Dominique SandozStudent @UZH
Worker @vonwaldkirch
@streunerlein
Dienstag, 24. April 12
You?
Dienstag, 24. April 12
The StoryThe tl;dr-section of this presentation
Dienstag, 24. April 12
Dienstag, 24. April 12
So why?
Dienstag, 24. April 12
Socket.io
easy
fast
solves a problem
Dienstag, 24. April 12
Socket.io
is for realtime exchange of data between Server and Client (Browser)
Dienstag, 24. April 12
Realtime?
Dienstag, 24. April 12
setInterval(check, 10)?
Dienstag, 24. April 12
requestAnimationFrame()?
Dienstag, 24. April 12
No.
Dienstag, 24. April 12
Real realtime.
Dienstag, 24. April 12
Websockets!
Dienstag, 24. April 12
Dienstag, 24. April 12
Socket.io
Websocket wrapper
Node.js Module
A deeper look.
Dienstag, 24. April 12
Socket.io
Socket between Server & Client
Send data from one to other
Receive data via events
asynchronous
A deeper look.
Dienstag, 24. April 12
Socket.io
emit(event, data)
on(event, handler)
Easyness is easy.
Dienstag, 24. April 12
Socket.io
Even Setup is easy!
Easyness is easy.
Dienstag, 24. April 12
Socket.ioServer Setup
npm install socket.io
Dienstag, 24. April 12
Socket.ioClient Setup
Dienstag, 24. April 12
Socket.io
Compatibility
Scalability
Performance
Robustness
The Killers.
Dienstag, 24. April 12
Socket.ioCompatibility
Dienstag, 24. April 12
Socket.ioCompatibility
Dienstag, 24. April 12
Socket.ioCompatibility
Websocket
Chrome 16, Firefox 11, IE 10, Safari 5. Opera 10
Built-in, disabled: Chrome 6, Firefox 4
Dienstag, 24. April 12
Dienstag, 24. April 12
Socket.ioCompatibility - Holy Fallbacks!
WebSocket
Flash Socket
AJAX long polling
AJAX multipart streaming
Forever IFrame
JSONP Polling
Dienstag, 24. April 12
Socket.ioCompatibility - Holy Fallbacks!
Socket.io falls back to support
IE 5.5+Safari 3+ Chrome 4+ Firefox 3+ Opera 10+
Dienstag, 24. April 12
Socket.ioScalability, Performance, Robustness
:)
Dienstag, 24. April 12
Use cases
Chats
Realtime Applications
Collaboration Software
Social Networks
Single-page Apps!
Every Project (?)
Dienstag, 24. April 12
Hands-on!Demos.
Dienstag, 24. April 12
Q & A
Dienstag, 24. April 12
#kthxbye
Socket.io official: http://socket.io/
Websocket overview: http://davidwalsh.name/websocket
Dienstag, 24. April 12