TDC 2014 - Atualizações sem F5 com WebSockets (Jhony, Gabriel Schade)

Preview:

DESCRIPTION

Apresentação da palestra no TDC 2014 - Florianópolis sobre WebSockets, com demonstração prática implementada nas plataformas Java, JavaScript e Windows Phone.

Citation preview

ATUALIZAÇÕES SEM F5 (OU CMD+R) COM WEBSOCKETS

Gabriel Schade Cardoso Jhony Luiz de Almeida

OS PALESTRANTES

http://programadorpoliglota.com.br

A NECESSIDADE

• Atualizações de página em tempo real

• Páginas cujas informações tornam-se desatualizadas em questão de segundos

• Chats, notícias de última hora, bolsa de valores, lista de pedidos, rastreamento, jogos multiplayer…

O PROBLEMA

• HTTP não foi projetado para páginas dinâmicas

• Canal de comunicação é apenas half-duplex

• Servidor não pode enviar nada ao cliente sem que ele requisite

AS "SOLUÇÕES"

• Polling, long polling, streaming…

• Cliente faz contínuas requisições para o servidor solicitando atualizações

• Geração de tráfego de rede desnecessário, atualizações não ocorrem de fato em tempo real

POLLING / LONG POLLING

A SOLUÇÃO

WebSockets!

WEBSOCKET ?

• Protocolo full-duplex para troca de mensagens assíncronas

• Conexão é iniciada por HTTP com uma requisição de upgrade de protocolo (handshaking)

• APIs orientadas a eventos (conexão aberta/fechada, mensagem recebida)

WEBSOCKETS

WEBSOCKETS X SOCKETS• WebSockets trabalham com mensagens ao invés de

cadeias de bytes

• As mensagens sempre são entregues por inteiro, não existe segmentação

• Usa a mesma porta do HTTP

• Contorna obstáculos como proxies e firewalls

IMPLEMENTAÇÕES

• Servidor disponível em várias linguagens: Java, C#, Python, PHP (Ratchet), JavaScript (NodeJS), Ruby…

• Clientes de navegador possuem a API JavaScript nativa definida por especificação do HTML 5, além de versões de terceiros

DEMO !

FONTES: HTTPS://GITHUB.COM/WJHONY/PROGRAMADORPOLIGLOTA/TREE/MASTER/TRONWEBSOCKET!HTTPS://GITHUB.COM/GABRIELSCHADE/BLOG/TREE/MASTER/WINDOWS%20PHONE/CSHARP

OBRIGADO! !

Gabriel Schade Cardoso /gabrielschade Jhony Luiz de Almeida w.jhony@outlook.com

!

Visite: programadorpoliglota.com.br