Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Streams no Javascript
Search
Lucas Santos
November 28, 2018
Programming
0
79
Streams no Javascript
Palestra sobre o uso de streams no Javascript
Lucas Santos
November 28, 2018
Tweet
Share
More Decks by Lucas Santos
See All by Lucas Santos
Escalando globalmente com TypeScript e JavaScript na Klarna
khaosdoctor
0
150
The future of JavaScript
khaosdoctor
0
30
TypeScript tips that could save your life
khaosdoctor
0
90
É hora de falar sobre Deno
khaosdoctor
0
62
JS Software testing for beginners
khaosdoctor
0
35
Ambientes dinâmicos com GitHub Actions
khaosdoctor
0
31
The Dark Side of JavaScript
khaosdoctor
0
51
Integrating Containers Into JavaScript
khaosdoctor
0
40
Entendendo o ecossistema de containers
khaosdoctor
1
750
Other Decks in Programming
See All in Programming
Folding Cheat Sheet #1
philipschwarz
PRO
0
210
本格ローグライク制作にEbitengineを選んでみた
nagainaganawa
0
290
Git Rebase
bkuhlmann
11
1.6k
Tailwind CSSを本気でカスタマイズする方法
fsubal
4
490
CQRS/ES avec Symfony, c’est (trop) bien !
jeremyfreeagent
1
630
Elm 0.19.0 Changes
bkuhlmann
0
490
チーム力を高めるスクラム実践法:カンバン公開と課題攻略について - ニフティのスクラムトーク Vol. 2 - NIFTY Tech Talk #18
niftycorp
PRO
1
110
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
350
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
100
"config" ってなんだ? / What is "config"?
okashoi
0
220
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
910
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
120
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
288
19k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Building Adaptive Systems
keathley
30
1.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Code Review Best Practice
trishagee
54
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
The Pragmatic Product Professional
lauravandoore
24
5.8k
Design by the Numbers
sachag
274
18k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Designing Experiences People Love
moore
136
23k
Transcript
Streams no JavaScript O que são? O que comem? Onde
Vivem?
$ whoami Lucas Santos /khaosdoctor @_staticvoid lsantos.me @khaosdoctor Lead Solutions
Architect
trainingcenter.io 2018.abcdevelopers.org obarra.co
Streams?
Array 1 2 3 4 5 6 7 8 9
10 11
Stream 2 3 4 5 6 7 8 9 10
11 1 Em espera
Stream 2 3 4 5 6 7 8 9 10
11 1 Requisitado 3 4 5 6 7 8 9 10 11 2 Em espera
Exemplos
Exemplos - Netflix - Youtube - Twitch - IoT Devices
- Logs - Steam Link - Gulp
Vantagens Não é só porque é legal Velocidade Eficiê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 leitura Stream Leitor
Writable Stream
Streams somente de escrita Stream Dados
Outros exemplos
Duplex Streams Tudo junto
Streams de leitura e escrita Stream Dados
Transform Streams Para quando não é o que queremos
Stream de transformação Transform Stream Dados Dados Modificados
Demo
Streams podem conter qualquer coisa - Eventos - Texto -
Números - Bits - Booleans
O que a gente pode fazer?
Pipe Stream Stream Leitor Pipe
Demo
Tee Stream Tee Stream Stream
Demo
Map
Demo
Filter
Demo
Scan
Demo
Skip
Demo
Take
Demo
Debounce
Demo
Debounce Immediate
Demo
Merge
Demo
Outros exemplos
<refs> - 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 @_staticvoid lsantos.me @khaosdoctor
Dê seu feedback! https://goo.gl/forms/kSZQlVGFYLpbkTLo1