如果您问开发人员为什么他们选择项目的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 – -.
, , . , , . :
- ,
- 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 , .
我希望本文能使您对使用Web技术做出明智的决定。本文只表达了我的个人观点,但包含了对资源的足够引用,以便每个人都可以阅读它们并自己撰写。
毕竟,如果您仍然认为Web组件是您项目的良好解决方案,那就太好了。但是,如果唯一的论点是“好”,那就是“这是网络标准,那就不会错了”,那么最好重新考虑您的结论并停止食用仙人掌。