Se você perguntar aos desenvolvedores por que eles escolheram componentes da web para seu projeto, muitas vezes você poderá ouvir esses argumentos
- Esse é um padrão da web criado por uma comunidade aberta, não por uma empresa privada.
- Os padrões da Web não quebram a compatibilidade com versões anteriores, não precisam se preocupar com seu código no futuro
- Todos os navegadores modernos aderem ao padrão em seu comportamento, menos surpresas nos testes entre navegadores
Os argumentos parecem lógicos e justos na situação usual, mas no caso de componentes da Web, existem nuances que tentarei revelar neste artigo.
Padrão aberto
A abertura do padrão implica que ele seja escrito com o envolvimento de várias partes interessadas. O resultado é um resultado satisfatório. O que aconteceu neste caso? Abrimos o documento e vemos seus autores
- Dimitri Glazkov, Google
- Hayato Ito, Google
- Dominic Cooney, Google
Todos eles trabalham no Google. A situação é semelhante no histórico de confirmações para este repositório. Experimente um gráfico de colaboradores para encontrar uma pessoa que não é do Google. Nos cinco primeiros, definitivamente não são.
, 100% . , , ? .
. - CSS, . - Shadow DOM, , . , , , Javascript , try/catch.
, .
, . , .
, 6 , , . , , .
, , ? . .
- . , <button>
:
customElements.define('cool-button', CoolButton, { extends: 'button' });
, Safari. webkit , , . custom-attributes custom-elements, .
Firefox - ( is=””
) ,
- , , " , , "
, . .
- . - HTML-. , - .
Firefox . , Javascript- .
, Chrome, Google Polymer, . Polymer HTML-, – -.
Shadow DOM, , .
, " – " - .
, , - - . , , , - .
-
, Shadow DOM v0 .
adoptedStylesheets
. . , , . -, , , "Collection of Interesting Ideas" – Editor Draft – -.
, , . , , . :
- ,
- production-ready
- , .
, , - Github: https://github.com/wicg. , WHATWG W3C, , WICG :
Community Groups are proposed and run by the community. Although W3C hosts these conversations, the groups do not necessarily represent the views of the W3C Membership or staff.
:
. W3C, W3C.
, "" , , , .
. . Opera Chromium, Edge. , . caniuse, 3 6 , Mozilla , .
Espero que este artigo permita que você tome uma decisão informada sobre o uso de tecnologias da web. O artigo expressa minha opinião pessoal exclusivamente, mas contém referências suficientes às fontes para que todos possam lê-las e criar suas próprias.
Se, depois de tudo isso, você ainda acha que os componentes da web são uma boa solução para o seu projeto, isso é ótimo. Mas se o único argumento "para" era "bem, esse é o padrão da web, eles não podem ser confundidos", então é melhor reconsiderar suas conclusões e parar de comer esse cacto.