Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor...

34
Web Workers e Service Workers

Transcript of Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor...

Page 1: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Web Workerse Service Workers

Page 2: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

senior solutions architect_

quem sou eu_

/khaosdoctor @_staticvoidlsantos.dev@khaosdoctor

nindoo.ai

Page 3: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

obarra.co

trainingcenter.io

abcdevelopers.org

Page 4: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

slsweek.netlify.com

Page 5: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Web Workers

Page 6: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

O JavaScript é assíncrono

Page 7: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Em uma thread...

Page 8: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Antes dos Web Workers

Page 9: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Manipulação de DOM

Requests de API

Interação de usuário

Processamento pesado

Próximos eventos

Page 10: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Depois dos Web Workers

Page 11: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Manipulação de DOM

Requests de API

Interação de usuário Próximos eventos

Processamento pesado

Page 12: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Web workers nos permitem criar threads paralelas no JavaScript

Page 13: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Arquivos externos

Page 14: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Comunicação por mensagens

Page 15: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai
Page 16: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai
Page 17: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

demo

Page 18: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

https://lsantos-web-workers.now.sh/

Page 19: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

- dedicated workers- shared workers

Page 20: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Service Workers

Page 21: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Ciclo de vida

Page 22: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Download

Installation

Activation

Page 23: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

update

Page 24: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai
Page 25: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Escopo

Page 26: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai
Page 27: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Principais usos

Page 28: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Gerenciamento de cache

Page 29: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

Push Notifications

Page 30: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

PWAs

Page 31: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

demo

Page 32: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

https://lsantos-service-workers.now.sh/

Page 33: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

referências_

- https://lsantos-web-workers.now.sh/

- https://auth0.com/blog/speedy-introduction-to-web-workers/

- https://braziljs.org/blog/javascript-multi-threading-com-web-workers-2/

- https://pt.stackoverflow.com/questions/240661/qual-é-a-diferença-entre-service-worker-e-web-worker

- https://pt.stackoverflow.com/questions/46926/o-que-s%C3%A3o-web-workers-e-como-utiliz%C3%A1-los

- https://www.w3schools.com/html/html5_webworkers.asp

- https://www.html5rocks.com/pt/tutorials/workers/basics/

- https://developer.mozilla.org/pt-BR/docs/Web/API/Worker

- https://blog.sessionstack.com/how-javascript-works-the-building-blocks-of-web-workers-5-cases-when-you-should-use-them-a547c0757f6a

- https://github.com/khaosdoctor/web-workers-and-service-workers

- https://serviceworke.rs/

- https://blog.sessionstack.com/how-javascript-works-service-workers-their-life-cycle-and-use-cases-52b19ad98b58

Page 34: Web Workers - Amazon S3...2019/07/08  · senior solutions architect_ quem sou eu_ @khaosdoctor lsantos.dev /khaosdoctor @_staticvoid nindoo.ai

/khaosdoctor @_staticvoidlsantos.dev @khaosdoctor

obrigado_