Lit 和之前的 Polymer 的目标是帮助尽可能多地使用浏览器功能构建 Web 组件和应用程序。
例如,jQuery 将所有不同的浏览器功能封装在它自己的语法中,以至于开发人员学习 jQuery,而不是 Javascript。jQuery 组件假定您拥有 jQuery 并依赖这些 jQuery 方法来运行。
Lit 和 Polymer 都支持Web 组件——这使得每个组件都更加独立。混合使用 jQuery 和它的任何竞争对手真的很痛苦,但这里不是这样。
用于构建该商店的所有组件都是稳定的,并且仍在 npm 上。如果需要,您可以使用它们,并且我有仍在使用它们的实时应用程序。
然而,拥护最新的浏览器功能是有风险的。Polymer 严重依赖 HTML Imports(只有 Chrome 曾经实现并最终被放弃)和它自己的模板库。它最终被移植到 ES6 模块,但核心设计远不适合它。这些组件非常稳定,但您并不想用它开始任何新事物。
与 Polymer 相比,Lit 的固执己见要少得多,而且水平要低得多。例如,Polymer 支持使用{{property}}
语法的两种方式绑定,但必须对您正在做什么来支持它做出假设(这通常会破坏)。对于极其稳定的属性设置器,Lit 放弃了它,但是如果您希望用户编写值,您必须订阅事件并自己滚动(尽管 Lit 确实使事件非常易于管理)。
因此,如果您要构建自己的 Web 组件或应用程序,Lit 是迄今为止更好的选择,而且 LitElement 是轻量级的,并且与其他一切都非常兼容。您可以在 Lit 中使用那些 Polymer shop 组件(我有),但对于其中大多数都有更新的替代品,特别是MWC。