O documento discute técnicas para desenvolver aplicações web em tempo real, incluindo polling, long polling e websockets. Explica que nada é realmente em tempo real e que realtime é mais uma sensação do que fato. A maior inteligência para aplicações em tempo real deve estar no servidor.
11. Mas o que é
Realtime?
● Experiência inovadora
● Super velocidade na resposta de uma interação
12. Mas o que é
Realtime?
● Experiência inovadora
● Super velocidade na resposta de uma interação
● Coisas reagem de forma instantânea
13. Mas o que é
Realtime?
● Experiência inovadora
● Super velocidade na resposta de uma interação
● Coisas reagem de forma instantânea
● Sensação
14. Realtime é uma
Sensação
are depicted as occurring entirely within the
span of, and at the same rate as the
depiction. “
A narrative technique, whereby events
Pedia, The
Wiki
24. Web Realtime
Websockets
● HTML5 API
● Especificação não está finalizada pelo W3C
● Não funciona em navegadores antigos
25. Web Realtime
Websockets
● HTML5 API
● Especificação não está finalizada pelo W3C
● Não funciona em navegadores antigos
● Não oferece suporte a todos navegadores mobile
26. Web Realtime
Websockets
● HTML5 API
● Especificação não está finalizada pelo W3C
● Não funciona em navegadores antigos
● Não oferece suporte a todos navegadores mobile
Se você não precisa se preocupar com
navegadores antigos, use a vontade.
27. Can I Use
Websockets?
caniuse.com/#feat=websockets
35. Web Realtime
Polling
● Loop que consome dados periodicamente
● Perde tempo em requests sem mudanças
36. Web Realtime
Polling
● Loop que consome dados periodicamente
● Perde tempo em requests sem mudanças
● Tráfego de dados desnecessários na rede do client
37. Web Realtime
Polling
● Loop que consome dados periodicamente
● Perde tempo em requests sem mudanças
● Tráfego de dados desnecessários na rede do client
● Defasagem de tempo definido pelo delay do loop
38. Web Realtime
Polling
● Loop que consome dados periodicamente
● Perde tempo em requests sem mudanças
● Tráfego de dados desnecessários na rede do client
● Defasagem de tempo definido pelo delay do loop
● Funciona em todos os browsers
39. Web Realtime
Polling
● Loop que consome dados periodicamente
● Perde tempo em requests sem mudanças
● Tráfego de dados desnecessários na rede do client
● Defasagem de tempo definido pelo delay do loop
● Funciona em todos os browsers
Péssima escolha para construir uma
aplicação web realtime
40. Web Realtime
Polling
Client #1 Server
Timeline
Request #1
Response #1 - No data
Request #2
Response #1 - New
data!
Client #2
Request #1 - New data
Response #1 - Ok
43. Web Realtime
Long Polling
● Abre uma conexão e “blocka” ela
● Só “solta” a conexão quando há mudança ou chegou no limite
44. Web Realtime
Long Polling
● Abre uma conexão e “blocka” ela
● Só “solta” a conexão quando há mudança ou chegou no limite
● O limite pode ser o default do HTTP ou sobrescrito
45. Web Realtime
Long Polling
● Abre uma conexão e “blocka” ela
● Só “solta” a conexão quando há mudança ou chegou no limite
● O limite pode ser o default do HTTP ou sobrescrito
● Poupa infinitos requests que não trazem dado algum
46. Web Realtime
Long Polling
● Abre uma conexão e “blocka” ela
● Só “solta” a conexão quando há mudança ou chegou no limite
● O limite pode ser o default do HTTP ou sobrescrito
● Poupa infinitos requests que não trazem dado algum
● Funciona em todos os browsers
47. Web Realtime
Long Polling
● Abre uma conexão e “blocka” ela
● Só “solta” a conexão quando há mudança ou chegou no limite
● O limite pode ser o default do HTTP ou sobrescrito
● Poupa infinitos requests que não trazem dado algum
● Funciona em todos os browsers
A melhor forma de garantir que sua aplicação
atenda o maior número de usuários
48. Web Realtime
Long Polling
Client #1 Server
Timeline
Request #1
Client #2
Request #1 - New data
Blocking
Response #1 - New Response #1 - Ok
data!
54. Aplicações Web Realtime
Resumo
● Nada é “realmente realtime”, tudo tem um tempo para acontecer
55. Aplicações Web Realtime
Resumo
● Nada é “realmente realtime”, tudo tem um tempo para acontecer
● Realtime é uma sensação
56. Aplicações Web Realtime
Resumo
● Nada é “realmente realtime”, tudo tem um tempo para acontecer
● Realtime é uma sensação
● Desenvolver aplicações realtime pra web é como pescar
57. Aplicações Web Realtime
Resumo
● Nada é “realmente realtime”, tudo tem um tempo para acontecer
● Realtime é uma sensação
● Desenvolver aplicações realtime pra web é como pescar
● Como você gostaria de pescar?
58. Aplicações Web Realtime
Resumo
● Nada é “realmente realtime”, tudo tem um tempo para acontecer
● Realtime é uma sensação
● Desenvolver aplicações realtime pra web é como pescar
● Como você gostaria de pescar?
● Falamos de técnicas de Polling e Long Polling
59. Aplicações Web Realtime
Resumo
● Nada é “realmente realtime”, tudo tem um tempo para acontecer
● Realtime é uma sensação
● Desenvolver aplicações realtime pra web é como pescar
● Como você gostaria de pescar?
● Falamos de técnicas de Polling e Long Polling
● Falamos do Websockets como uma API nativa do HTML
60. Aplicações Web Realtime
Resumo
● Nada é “realmente realtime”, tudo tem um tempo para acontecer
● Realtime é uma sensação
● Desenvolver aplicações realtime pra web é como pescar
● Como você gostaria de pescar?
● Falamos de técnicas de Polling e Long Polling
● Falamos do Websockets como uma API nativa do HTML
● A maior inteligência do realtime acontece no lado do server