Web 组件社区聚合物 Web 组件

Web components community polymer web components

如果我看polymer shop I am instantly sold on wanting to use this as a starter for my web shop. Not just because it's already a web shop (full pwa technology) but because it has excellent (offline) experience on browser/mobile, has proper documentation and is still maintained

但随后查看 polymer 主页,发现该项目基于过时的 polymer 版本,甚至它首先使用 polymer 的事实也令人好奇:

The Polymer library is in maintenance mode. For new development, we recommend Lit.

所以我的问题是商店似乎依赖 lit will have the rich choice 个 Web 组件?

这可能是一个愚蠢的问题,但除了在 google IO

中查看一些令人兴奋的消息外,我跳过了聚合物

Lit 和之前的 Polymer 的目标是帮助构建尽可能多地使用浏览器功能的 Web 组件和应用程序。

例如 jQuery 将所有不同的浏览器功能包装在它自己的语法中,以至于开发人员正在学习 jQuery,而不是 Javascript。 jQuery 组件假定您有 jQuery 并依赖那些 jQuery 方法来运行。

Lit 和 Polymer 都支持 web 组件 - 这使得每个组件 much 更加独立。混合使用 jQuery 和它的任何竞争对手真的很痛苦,但这里不是这种情况。

用于构建该商店的所有组件都是稳定的并且 still on npm。如果需要,您可以使用它们,我有仍在使用它们的实时应用程序。

然而,拥护最新的浏览器功能也有其风险。 Polymer 严重依赖 HTML 导入(只有 Chrome 实现并最终被删除)和它自己的模板库。它最终被移植到 ES6 模块,但核心设计远不适合它。这些组件非常稳定,但您真的不想用它开始任何 new

Lit 比 Polymer 自以为是少很多,而且水平低得多。例如,Polymer 支持使用 {{property}} 语法的两种方式绑定,但必须对您正在做的事情做出假设(通常会失败)以支持它。 Lit 放弃了极其稳定的 属性 设置器,但如果你想让用户编写值,你必须订阅事件并自己滚动(不过 Lit 确实使事件非常易于管理)。

因此,如果您要构建自己的 Web 组件或应用程序,Lit 是迄今为止更好的选择,LitElement 是轻量级的并且 extremely compatible with everything else. You can use those Polymer shop components in Lit (I have) but for most of them there are newer alternatives, in particular MWC.