Palestra sobre o uso de streams no Javascript
Streams noJavaScriptO que são? O que comem? OndeVivem?
View Slide
$ whoamiLucas Santos/khaosdoctor@_staticvoidlsantos.me@khaosdoctorLead Solutions Architect
trainingcenter.io2018.abcdevelopers.orgobarra.co
Streams?
Array1 2 3 4 5 6 7 8 9 10 11
Stream234567891011 1Em espera
Stream234567891011 1Requisitado34567891011 2Em espera
Exemplos
Exemplos- Netflix- Youtube- Twitch- IoT Devices- Logs- Steam Link- Gulp
VantagensNão é só porque é legalVelocidadeEficiência
Implementações
Implementações- Node.js (https://nodejs.org/api/stream.html)- Bacon.js (https://baconjs.github.io/)- RxJS (https://rxjs-dev.firebaseapp.com/)- Vanilla JS - Experimental (https://mzl.la/2zlQKkH)
Tipos de Streams
Readable Stream
Streams somente de leituraStream Leitor
Writable Stream
Streams somente de escritaStream Dados
Outros exemplos
Duplex StreamsTudo junto
Streams de leitura e escritaStream Dados
Transform StreamsPara quando não é o que queremos
Stream de transformaçãoTransformStream Dados Dados Modificados
Demo
Streams podem conter qualquer coisa- Eventos- Texto- Números- Bits- Booleans
O que a gente pode fazer?
PipeStream Stream LeitorPipe
TeeStream TeeStreamStream
Map
Filter
Scan
Skip
Take
Debounce
Debounce Immediate
Merge
- bit.ly/sobre-baconjs- bit.ly/sobre-debounce- bit.ly/imasters-streams- bit.ly/streams-node-medium- mzl.la/mdn-streams- bit.ly/guia-rapido-streams- bit.ly/graficos-streams- bit.ly/mdn-exemplos- github.com/khaosdoctor/palestra-streams
/khaosdoctor @_staticvoidlsantos.me @khaosdoctor
Dê seu feedback!https://goo.gl/forms/kSZQlVGFYLpbkTLo1