Web组件和开放标准


如果您问开发人员为什么他们选择项目的Web组件,您经常会听到这样的争论。


  • 这是由开放社区而非某些私人公司制定的Web标准。
  • Web标准不会破坏向后兼容性,以后不必担心您的代码
  • 所有现代浏览器的行为均符合标准,跨浏览器测试的惊喜更少

在通常情况下,这些参数看起来合乎逻辑且合理,但是在Web组件的情况下,我会在本文中尝试揭示一些细微差别。


开放标准


该标准的开放性意味着它是在各种利益相关者的参与下编写的。结果是令人满意的结果。在这种情况下发生了什么?我们打开文档并查看其作者


  • Google的Dimitri Glazkov
  • 伊藤人(Google)
  • Google Dominic Cooney

它们都可以在Google中使用。在对该存储库的提交历史中,情况类似。尝试在贡献者图表上查找并非来自Google的人。在前五个中,这些绝对不是。


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



我希望本文能使您对使用Web技术做出明智的决定。本文只表达了我的个人观点,但包含了对资源的足够引用,以便每个人都可以阅读它们并自己撰写。


毕竟,如果您仍然认为Web组件是您项目的良好解决方案,那就太好了。但是,如果唯一的论点是“好”,那就是“这是网络标准,那就不会错了”,那么最好重新考虑您的结论并停止食用仙人掌。

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


All Articles