Polymer 和 Web Components polyfill 之间的区别?
Posted
技术标签:
【中文标题】Polymer 和 Web Components polyfill 之间的区别?【英文标题】:Difference between Polymer and Web Components polyfill? 【发布时间】:2017-03-06 22:47:33 【问题描述】:我是一名新开发人员,我很难找到任何能明确区分 Polyfill 和 Polymer 的内容。
我相当确定 Polyfill 是/或使用 platform.js webcomponents.js 的一部分它们还没有得到完全支持。 Polymer 使用某种模板,例如 Angular 的指令,但它似乎是未来 Web 的更永久固定装置。
谁能提供更清晰的定义或链接来阐明两者之间的区别?
【问题讨论】:
旁注:platform.js 被 webcomponents.js polyfill 取代,并且仅在 Polymer 1.0 之前使用。在您的 Polymer 项目中,您现在应该使用 webcomponents.js(或其精简版),直到所有浏览器都支持完整的 Web 组件规范。 卡登给出了一个很好的答案,你应该选择它作为正确答案。 【参考方案1】:Polymer 是否基于 polyfill?
“Polymer 在标准 Web 组件 API 上添加了一点糖,让您更轻松 [...]。” — Polymer Project homepage
“Polymer 支持所有主要的常青浏览器与结合使用时,webcomponents.js 支持 IE 11+。” — A Quick Introduction To Polymer (重点由我添加)
这意味着 Polymer 不基于,即不依赖于 polyfill (webcomponents.js)。相反,它似乎是直接构建在 Web 组件标准之上的。
只有当您的目标浏览器没有实现这些标准时,您才需要 polyfill 来弥补这一点。
Polymer 和 polyfill 的主要区别:
“有一些围绕 Web 组件的包装器 […]。Polymer 是一个类似的包装器,在顶部添加了一些额外的好东西。 […] 使用 Polymer 的优点之一是它具有内置数据绑定模型(如 Angular),无需任何其他库即可制作完整的应用程序。” — ibid (重点由我添加)
这意味着,虽然 Webcomponents.js(polyfill)是缺失功能的替代品,但 Polymer 是围绕它的薄包装器(添加了一些功能)。
【讨论】:
以上是关于Polymer 和 Web Components polyfill 之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章
使用Polymer 2.0的简单web组件:从下拉列表更新值不起作用
在polymer.json中有什么额外的依赖,“!”是什么意思?