Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Aplicações Real-Time com SocketIO e Firebase

Aplicações Real-Time com SocketIO e Firebase

Eventos: GDG Tech Tour e TDC Porto Alegre

Apresentação sobre protocolos HTTP e Websockets, como funcionam aplicações real-time e como servir o seu projeto em tempo real utilizando Socket.io, Firebase e Angularjs.

Thulio Philipe

September 24, 2016
Tweet

More Decks by Thulio Philipe

Other Decks in Programming

Transcript

  1. + Software Engineer @Labcodes + Design Gráfico @Unibratec + Web

    Apps @Unibratec + Google Maps + Offline First ❤ + Cerveja Thulio Philipe @thulioph
  2. + Software Engineer @Labcodes + Design Gráfico @Unibratec + Web

    Apps @Unibratec + Google Maps + Offline First ❤ + Cerveja Thulio Philipe @thulioph_
  3. H T T P - Enviar e receber informações na

    web - Request/Response - Sua versão atual é a 2 - Uma requisição precisa ser transmitida pelo user-agent para que então o servidor responda
  4. - Transmissão de dados em ambos os sentidos de forma

    simultânea. - Mantém uma conexão persistente no servidor. - O servidor agora consegue enviar requisições para o navegador e vice-versa sem que ele requisite. - O handshake se parece com o HTTP, facilitando com que o servidor possa servir HTTP e WebSockets na mesma porta. WebSocket
  5. • Utilizava o protocolo HTTP. • Vários requests eram necessários

    utilizando setTimeOut() a cada 1s/2s. • Sobrecarga no servidor, aplicação lenta. Antes...
  6. • É uma API que estabelece uma única conexão via

    socket entre um client e o server • Foi padronizado pelo W3C (~ 2012) • No flash player 9 já tinha implementado WebSockets (~ 2010 ) • Flash Sockets • Pode ser oferecido com SSL WebSockets
  7. • Regulamentado pelo IETF
 (internet engineering task force) • Imagine

    uma espécie de túnel entre o cliente e servidor • WebRTC 
 (web real-time communication) • ligações de voz, video, chat e transferência de arquivos sem plugin. WebSockets
  8. • Real-time, baseada em eventos de comunicação bi-direcionais • Desenvolvido

    com Javascript utilizando a especificação dos WebSockets • Funciona em qualquer tipo de dispositivo, mobile ou desktop • É necessária a implementação tanto do lado servidor como do lado cliente Socket.io
  9. • Instale o socket.io • Acople o socket ao servidor

    existente
 (que pode ser um servidor http) • Utilize listeners (emitindo e recebendo eventos). Socket.io
  10. • Crie um projeto no firebase console • Configure o

    firebase na sua aplicação, integrando o script (código fornecido pela documentação) • Envie os dados e escute as mudanças Firebase
  11. io.on('connection', function (socket) { socket.on(‘my_event', function (data) { console.log(data); //

    my favourite color is red
 
 }); }); io.emit(‘alert’, ‘socket.io is awesome!’);