TL;DR; 是的,Web 组件是一个标准 ...不需要 polyfills
这 3 种技术是我们也称为 “Web 组件”的吗
每个都可以单独使用!
- HTML 导入已废弃
- 有些包括 ES Imports
“Web 组件”是 W3C 标准,所有现代浏览器都支持:
Chrome(以及在 Chromium 上运行的 Edge、Brave 和其他)、Safari 和 FireFox
它们与任何其他 ES 技术一样标准
不要被讨论(我们现在所说的)“V0”标准的旧博客误导;这主要是一个谷歌让我们在墙上扔东西,然后看看什么东西的派对;来自 Mozilla 和 Apple 的意见。
Web 组件 V1(自 2018 年初以来)是 Apple、Mozilla 和 Google 的稳固共同努力。
微软决定交换浏览器引擎并让 Edge 在 Chromium 上运行时加入了聚会
(历史上)自定义元素有两种类型:
-
自治自定义元素,扩展自
HTMLElement
-
定制的内置元素,扩展自任何 HTML 元素(例如:
HTMLButtonElement)
Apple 已声明,自 2016 年起,他们不会实施后者! (大多数深入挖掘的人都说 Apple 是正确的)
另外值得注意的是,in august 2019,W3C 签署了一项协议,即 WHATWG
(即:Apple + Google + Mozilla + Microsoft)负责所有 HTML和DOM的开发; W3C 只会对标准给予最终批准。
制定标准是一个缓慢(但稳定!)的过程,因为现在所有 4 家公司都必须达成一致。
但是想想...网络历史不过是(浏览器)战争...
在 Webs 30 年的历史中,你见过这样的合作吗?
那么未来会带来什么呢?
一场新的战争已经打响了……很多开发者都没有注意到
请注意缺少一个大的“前端”名称...
WHATWG 是“仅限邀请”
另请阅读:main differences React, Lit, Web Components