Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Leve seu CSS para o futuro
Search
Rafael Dantas
December 01, 2018
Technology
28
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Leve seu CSS para o futuro
Talk dada no front in Floripa de 2018.
Rafael Dantas
December 01, 2018
More Decks by Rafael Dantas
See All by Rafael Dantas
O estado do CSS em 2019
raffaeldantass
1
210
CSS animations under the hood
raffaeldantass
0
81
CSS moderno para Web Semântica
raffaeldantass
0
47
Houdini e o futuro mágico do CSS
raffaeldantass
1
220
Dismistificando o CSS Grid Layout
raffaeldantass
0
150
Houdini e o Futuro das CSS
raffaeldantass
1
470
Dismistificando o CSS Grid Layout
raffaeldantass
1
53
Other Decks in Technology
See All in Technology
Claude Codeから見る、エンジニアの世界の変容とその先
oikon48
7
4.4k
AIエージェント時代、Kaggleにどう取り組むか
takanao
1
200
生成AI時代、PMは事業責任者に進化するともっと面白い〜PMだからこそ事業構造を動かせる時代に〜
kakehashi
PRO
1
880
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
290
企画を Software Factory-ready にする——開発が高速になったとき、PdMの仕事はどう変わったか
yachibit
1
280
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
330
DevelopersIO2026 -バックアップは“消されないこと”が9割-
yoshida0129
0
410
正解のない研修に放り出されて / Being thrown into a training program with no right answers
ohnoeight
1
150
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
200
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
170
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
220
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
410
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
The browser strikes back
jonoalderson
0
1.9k
Designing Powerful Visuals for Engaging Learning
tmiket
1
620
First, design no harm
axbom
PRO
2
1.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Abbi's Birthday
coloredviolet
4
10k
The Curse of the Amulet
leimatthew05
3
16k
Optimizing for Happiness
mojombo
378
71k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
Transcript
Leve seu CSS para o futuro com Houdini Por @raffaeldantass
Rafael Dantas @RaffaelDantass Organizador do @meetuphtmlsp Instrutor no @Coletividad Front
End @valleweb Colaborador no @iMasters
Quais empecilhos temos atualmente?
Não temos acesso ao CSSOM
Inconsistências entre navegadores
JS evolui muito rápido, CSS… nem tanto.
Como nasce uma propriedade nova em CSS?
Nova especificação é proposta Especificação é escrita Os vendors implementam
Melhorias e correções são propostas Re-implementação e correções são feitas Quando os vendors consideram a propriedade madura o suficiente Os navegadores Adotam a especificação Nós (Devs) usamos a especificação
Como funciona com JS?
Uma nova feature é proposta Cria-se um Polyfill/Transpilador Se utiliza
a nova feature
O que é o qual a proposta do Houdini?
É uma força tarefa criada pela W3C
Tem o objetivo de oferecer API`s para criarmos nossas próprias
propriedades
https://ishoudinireadyyet.com/
Parser DOM CSSOM Monta o layout Processo de Paint Processo
de Composite Processo de Cascata CSS Parser API CSS Typed OM CSS Layout API Painting API Animation Worklet Worklets Properties and Values API
CSS Typed OM CSS Layout API Painting API Worklets
CSS Typed OM - Tipos - Objetos - Métodos Valores
são expostos como objetos JS. Evitando concatenação através de strings
CSS Typed OM
CSS Typed OM
CSS Typed OM Quais beneficios isso me traria? Muito verboso?
Talvez.
CSS Typed OM - Menos erros Valores numéricos são retornados
como number, não string.
CSS Typed OM - Error handling É possível checar se
o valor passado é compatível com o que é esperado.
CSS Typed OM - Melhor performance Navegador terá menos trabalho
(não vai converter/concatenar strings)
Layout API Alguns conceitos importantes sobre como o navegador trabalha
com layouts
Delimitação do layout Child Layout Layout Child Layout Child Layout
Child Layout Child Container (Parent Layout)
Child Layout Layout Child styleMap Background-color Color Etc. Layout Fragment
Lida com valores intrínsecos de tamanho do Box min-content-size max-content-size
HTML
JS
CSS
Exemplo
Paint API HTML
Paint API HTML
Paint API JS
Exemplo
Worklet - Event Loop Age como uma roda gigante fora
da Main Thread
Main Thread Event Loop
Acesso low-level ao pipeline de renderização Worklet
Worklet É possível rodar JS e Web Assembly
Worklet Processa renderização de gráfico e áudios com maior performance
Worklet Processa renderização de gráfico e áudios com maior performance
Worklet Event Loop Worklet
Worklet Event Loop Worklet
Worklet Event Loop Worklet
Worklet Event Loop Worklet
Worklet Animation Worklet Layout Worklet Paint Worklet Audio Worklet
Em resumo Não vai mais depender da implementação por parte
dos vendors
Em resumo Não vai mais esperar tanto tempo por uma
propriedade nova
Em resumo Não haverá mais inconsistências entre navegadores
Em resumo Libs para lidar com inconsistências
Pra acompanhar https://github.com/w3c/css-houdini-drafts/issues W3C Google Chrome Labs https://github.com/GoogleChromeLabs/houdini-samples https://wiki.mozilla.org/CSS/Houdini Mozzila
Houdini Wiki https://drafts.css-houdini.org/ Drafts oficiais
@raffaeldantass OBRIGADO! Segue a gente! @valleweb rafa-dantas.com.br