socket io - jszurich

33
Socket.io Realtime just got real. Dienstag, 24. April 12

Upload: streunerlein

Post on 20-Aug-2015

3.578 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Socket io - JSZurich

Socket.ioRealtime just got real.

Dienstag, 24. April 12

Page 2: Socket io - JSZurich

Me

Dominique SandozStudent @UZH

Worker @vonwaldkirch

@streunerlein

Dienstag, 24. April 12

Page 3: Socket io - JSZurich

You?

Dienstag, 24. April 12

Page 4: Socket io - JSZurich

The StoryThe tl;dr-section of this presentation

Dienstag, 24. April 12

Page 5: Socket io - JSZurich

Dienstag, 24. April 12

Page 6: Socket io - JSZurich

So why?

Dienstag, 24. April 12

Page 7: Socket io - JSZurich

Socket.io

easy

fast

solves a problem

Dienstag, 24. April 12

Page 8: Socket io - JSZurich

Socket.io

is for realtime exchange of data between Server and Client (Browser)

Dienstag, 24. April 12

Page 9: Socket io - JSZurich

Realtime?

Dienstag, 24. April 12

Page 10: Socket io - JSZurich

setInterval(check, 10)?

Dienstag, 24. April 12

Page 11: Socket io - JSZurich

requestAnimationFrame()?

Dienstag, 24. April 12

Page 12: Socket io - JSZurich

No.

Dienstag, 24. April 12

Page 13: Socket io - JSZurich

Real realtime.

Dienstag, 24. April 12

Page 14: Socket io - JSZurich

Websockets!

Dienstag, 24. April 12

Page 15: Socket io - JSZurich

Dienstag, 24. April 12

Page 16: Socket io - JSZurich

Socket.io

Websocket wrapper

Node.js Module

A deeper look.

Dienstag, 24. April 12

Page 17: Socket io - JSZurich

Socket.io

Socket between Server & Client

Send data from one to other

Receive data via events

asynchronous

A deeper look.

Dienstag, 24. April 12

Page 18: Socket io - JSZurich

Socket.io

emit(event, data)

on(event, handler)

Easyness is easy.

Dienstag, 24. April 12

Page 19: Socket io - JSZurich

Socket.io

Even Setup is easy!

Easyness is easy.

Dienstag, 24. April 12

Page 20: Socket io - JSZurich

Socket.ioServer Setup

npm install socket.io

Dienstag, 24. April 12

Page 21: Socket io - JSZurich

Socket.ioClient Setup

Dienstag, 24. April 12

Page 22: Socket io - JSZurich

Socket.io

Compatibility

Scalability

Performance

Robustness

The Killers.

Dienstag, 24. April 12

Page 23: Socket io - JSZurich

Socket.ioCompatibility

Dienstag, 24. April 12

Page 24: Socket io - JSZurich

Socket.ioCompatibility

Dienstag, 24. April 12

Page 25: Socket io - JSZurich

Socket.ioCompatibility

Websocket

Chrome 16, Firefox 11, IE 10, Safari 5. Opera 10

Built-in, disabled: Chrome 6, Firefox 4

Dienstag, 24. April 12

Page 26: Socket io - JSZurich

Dienstag, 24. April 12

Page 27: Socket io - JSZurich

Socket.ioCompatibility - Holy Fallbacks!

WebSocket

Flash Socket

AJAX long polling

AJAX multipart streaming

Forever IFrame

JSONP Polling

Dienstag, 24. April 12

Page 28: Socket io - JSZurich

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

Page 29: Socket io - JSZurich

Socket.ioScalability, Performance, Robustness

:)

Dienstag, 24. April 12

Page 30: Socket io - JSZurich

Use cases

Chats

Realtime Applications

Collaboration Software

Social Networks

Single-page Apps!

Every Project (?)

Dienstag, 24. April 12

Page 31: Socket io - JSZurich

Hands-on!Demos.

Dienstag, 24. April 12

Page 32: Socket io - JSZurich

Q & A

Dienstag, 24. April 12

Page 33: Socket io - JSZurich

#kthxbye

Socket.io official: http://socket.io/

Websocket overview: http://davidwalsh.name/websocket

Dienstag, 24. April 12