Socket io - JSZurich

Preview:

Citation preview

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

Recommended