010.精读 Web Components 的困境.md
- Shadow DOM v1 代替 Polymer.dom Shady DOM 从 Polymer 中分离出来。
- 使用标准 ES6 类 和 Custom Elements 自定义元素
- 数据系统的改进和生命周期的变更
-
Web component 的支持在 11 年-17 年内没有进展
-
web 组件对 JS 的实现有强依赖 -- Custom Elements 是 JS 脚本的一部分 -- HTMLTemplates 为了被 JS 使用 -- Shadow DOM 也需要配合 JS 使用 -- 只有 HTML imports 可以脱离 JS 使用
-
Web component 操作 DOM -- 属性都是字符串 -- 元素的内容模型比较奇怪
-
突破限制使用不同的方法来传递数据
-
CSS 作用域 (CSS Module 有相关作用域书写)
- Web component 需要被浏览器支持, 所以推动速度较慢(兼容,成熟方案)
- React
- DOM 抽象(React/JSX) 但旧设备 加载大 js 包性能不够好,应该按需加载做拆分
- JSX/Virtual DOM
- Polymer 数据绑定
- 组件处理字符串属性
- 对标准的推动必须要谨慎 ,如果 web 组件作为浏览器底层特性就不应该跟流行框架做比较,而是作为规范进行约束
- API 偏底层操作,易用性不够,对浏览器层面的支持得加深
- Web component 如果要做为浏览器底层特性不应该跟应用层框架比较,价值和应用框架不一样,期待应用层可以基于 Web components 做更多的实现, 让组件超越框架,能在不同技术栈使用。