Composants Web et normes ouvertes


Si vous demandez aux développeurs pourquoi ils ont choisi des composants Web pour leur projet, vous pouvez souvent entendre de tels arguments


  • Il s'agit d'une norme Web créée par une communauté ouverte et non par une entreprise privée.
  • Les normes Web ne cassent pas la compatibilité descendante, ne vous souciez plus de votre code à l'avenir
  • Tous les navigateurs modernes respectent la norme dans leur comportement, moins de surprises dans les tests inter-navigateurs

Les arguments semblent logiques et justes dans la situation habituelle, mais dans le cas des composants Web, il y a des nuances que je vais essayer de révéler dans cet article.


Norme ouverte


L'ouverture de la norme implique qu'elle soit rédigée avec la participation de diverses parties prenantes. Le résultat est un résultat satisfaisant. Que s'est-il passé dans ce cas? Nous ouvrons le document et voyons ses auteurs


  • Dimitri Glazkov, Google
  • Hayato Ito, Google
  • Dominic Cooney, Google

Tous fonctionnent dans Google. La situation est similaire dans l'histoire des validations de ce référentiel. Essayez sur un tableau des contributeurs de trouver une personne n'appartenant pas à Google. Dans les cinq premiers, ce n'est certainement pas le cas.


, 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 – -.


, , . , , . :


  1. ,
  2. production-ready
  3. , .

, , - 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 , .



J'espère que cet article vous permet de prendre une décision éclairée sur l'utilisation des technologies Web. L'article exprime mon opinion personnelle exclusivement, mais contient suffisamment de références aux sources pour que chacun puisse les lire et se faire sa propre opinion.


Si après tout cela, vous pensez toujours que les composants Web sont une bonne solution pour votre projet, c'est parfait. Mais si le seul argument «pour» était «eh bien, c'est la norme Web, ils ne peuvent pas se tromper», alors il est préférable de reconsidérer vos conclusions et d'arrêter de manger ce cactus.

Source: https://habr.com/ru/post/undefined/


All Articles