Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Houdini e o futuro mágico do CSS

Houdini e o futuro mágico do CSS

Mostrei o que é o projeto Houdini, quais são as propostas e como isso poderá mudar a forma de pensarmos e construirmos o nosso CSS. Chega de inconsistências, bem vindo ao futuro com Houdini!

Rafael Dantas

October 06, 2018
Tweet

More Decks by Rafael Dantas

Other Decks in Technology

Transcript

  1. Quais problemas temos com CSS hoje em dia? Evolução das

    especificações do CSS são muito lentas
  2. Quais problemas temos com CSS hoje em dia? Não temos

    acesso ao CSSOM da mesma forma que o DOM
  3. O processo de criação de uma propriedade 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
  4. Como funciona no caso do JS Uma nova feature é

    proposta Cria-se um Polyfill/Transpilador Se utiliza a nova feature
  5. Mas o que o Houdini CSS tem a ver com

    isso? Qual é a proposta que ele traz? Aliás, o que diabos é Houdini CSS?
  6. O que é Houdini CSS? Tem a proposta de estender

    o poder dos Devs em relação a CSS
  7. O que é Houdini CSS? Propõe a criação de API’s

    para criarmos novas propriedades
  8. Qual o processo do Pipeline? Parser DOM CSSOM Monta o

    layout Processo de Paint Processo de Composite Processo de Cascata Exibe o Resultado
  9. Qual o processo do Pipeline? DOM CSSOM Só temos acesso

    completo ao DOM E parcial ao CSSOM
  10. Qual a proposta do Houdini CSS? 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
  11. Em resumo as propostas são: Dar acesso aos diferentes estágios

    do Pipeline de renderização Normalizar possíveis inconsistências (escrevendo polyfills/transpiladores) Não depender mais do processo de evolução de uma spec pelo W3C
  12. Por que eu querer fazer o trabalho do engenheiro de

    browser? Garantia de funcionamento de todos as propriedades sem quebra
  13. Por que eu querer fazer o trabalho do engenheiro de

    browser? Usar coisas novas sem ter que esperar por suporte dos navegadores
  14. Por que eu querer fazer o trabalho do engenheiro de

    browser? Consumir libs que resolvem inconsistências (DE VERDADE)
  15. E qual o futuro? Não se trata mais de “se”

    e sim “quando”. Em algum ponto, iremos nos beneficiar dessa iniciativa.
  16. “Abracem o fracasso como se abraça o sucesso. Desafiem-se a

    explorar o desconhecido, e a evolução será uma consequência.” Tentem mais. Errem mais. Rafael Dantas