Web Components são aceitáveis
- A comunidade de desenvolvimento web frequentemente debate Web Components
- Ryan Carniato escreveu o texto "Web Components Are Not the Future", e Cory LaViska respondeu com "Web Components Are Not the Future — They’re the Present"
- O autor tenta encerrar esse debate de forma pacífica
Desempenho
- Web Components se baseiam em Custom Elements, então toda a interface é processada por meio do DOM
- Minimizar nós do DOM é um ponto central da otimização de desempenho
- Porém, desempenho não é tudo; também é preciso considerar outros fatores, como manutenibilidade, segurança, usabilidade e acessibilidade
- Por exemplo, deixar de renderizar atributos
aria-* pode melhorar o desempenho, mas eles são indispensáveis para acessibilidade
- A otimização de desempenho é importante, mas, na prática, problemas mais simples como layout thrashing, network waterfall e rerenderizações desnecessárias costumam ter impacto maior no desempenho
O custo dos padrões
- Dar suporte a padrões exige escrever e executar código adicional
- Ainda assim, suportar Web Components não representa uma grande carga
- Considerar novos recursos da plataforma web é algo natural, e isso também vale para Symbols, Proxys, Promises etc.
- Parte da comunidade de desenvolvimento web pode não querer dar suporte a Web Components, e tudo bem
- A web é uma grande tenda que permite diversas abordagens
Conclusão
- Web Components, por si só, não são um problema, mas a promessa de que podem substituir tudo é arriscada
- Web Components têm pontos fracos em server-side rendering, acessibilidade e interoperabilidade
- Outras frameworks como React, Solid e Svelte ainda brilham em certas áreas
- A web é usada para finalidades variadas, e isso oferece oportunidades para expressar criatividade
- Web Components podem não ser adequados para você, e tudo bem
# Resumo do GN⁺
- Este texto apresenta diferentes perspectivas sobre Web Components e enfatiza o equilíbrio entre desempenho e outros fatores
- Web Components não podem substituir tudo, mas são adequados para usos específicos
- A comunidade de desenvolvimento web permite diferentes abordagens, o que estimula a criatividade
- Se Web Components não forem adequados para você, é possível usar outras frameworks
- As diversas capacidades da web oferecem novas oportunidades de expressão criativa
1 comentários
Comentários no Hacker News
Sentiu que faltaram argumentos convincentes no artigo "Web Components Are Not the Future"
As opiniões divergem porque as pessoas buscam otimizações diferentes
O Svelte oferece suporte à criação de Web Components por meio da Custom Elements API
Acha que Web Components não tornam a vida de desenvolvedores full stack melhor
Web Components e Shadow DOM podem atrapalhar o funcionamento de extensões de navegador
Interoperabilidade vem com custo de desempenho
Acha que Web Components podem resolver os problemas atuais do frontend
Herdou uma base de código JS com 250.000 linhas e está refatorando para Web Components
Web Components podem funcionar mesmo sem JS
Frameworks e Web Components são ferramentas para resolver problemas diferentes