原文地址:http://www.2ality.com/2015/08/web-component-status.html
三年前,Web 组件一度炙手可热,每个人都在讨论它们,Ember 和 Angular 框架准备整合它们,甚至都想基于他们开发了等等。 如今,这些都销声匿迹了。这篇博客探讨 Web 组件发生了什么。剧透: 他们还好好地活着,正逐渐被浏览器所接受。
Web 组件是一套规范,有助于实现自定义 HTML 元素:
<template>
元素的内容是被解析的,而非解释执行的(比如不会加载图像等)。关于 Web 组件是如何工作的更多信息,你可以阅读 Travis Leithead 和 Arron Eicholz 的文章:“Bringing componentization to the web: An overview of Web Components”。
很长一段时间,主要是 Google(和 Mozilla,某种程度上)在推动 Web 组件化。近几个月里,其他组织也参与进来。在2015年4月24日 和 2015年7月21日的两次面对面会议中, Mozilla、 微软、 谷歌、 苹果和其他组织都有人出席。这两次会议期间就两个关于跨浏览器的 Web 组件规范达成了共识。
其他两个规范怎么样了?
更多信息:
当 Sebastian markbage(React 的创造者之一)被问及 Web 组件时,他回答道:
Facebook 不会使用它。我们不会基于它创建 React,因为 Web 组件是命令模式,React 是声明模式,差异很大。Web 组件没有惯用的方式来定义事件的发生。当一切都是字符串时,如何传递数据?我们更多的是把它看成一个中间层,能让各种框架间相互(交谈)。 我在和 Atom 团队的交谈中得知,这一层还不能解决问题,因为它对框架间的关系没有想法。
这听起来像 React 和 Web 组件是互不兼容的。然而,在另一次名为“The complementarity of React and Web Components”的谈话中,Andrew Rota 持不同意见:
Andrew 认为 Web 组件应该:
<script>
标签。这些设计 Web 组件的规则对 React 有利,但也是普适的。
The Web Platform Podcast 第 54 期(2015年7月28日) 访问了一个专家小组:" Web 组件化准备好么?"(80 分钟的视频)。观看该视频以获得更多的关于 Web 组件的信息和内容。 上面的访谈中提到,CSS Houdini工作组的工作有助于在将来实现 Web 组件:
CSS-TAG [技术架构组] Houdini Task Force ( CSS Houdini ) 的目的是共同开发 Web 样式和布局的“神奇”功能。
目前,样式和布局大多数是黑盒的。Houdini 团队计划揭露其内部细节,并让人们参与其中。
扫码关注w3ctech微信公众号
共收到0条回复