Цель Lit, а до него и Polymer, — помочь создавать веб-компоненты и приложения, максимально используя возможности браузера.
Например, jQuery обернул все различные функции браузера своим собственным синтаксисом, до такой степени, что разработчики изучали jQuery, а не Javascript. Компоненты jQuery предполагают, что у вас есть jQuery, и полагаются на эти методы jQuery для работы.
И Lit, и Polymer поддерживали веб-компоненты — это делает каждый компонент намного более автономным. Использование сочетания jQuery и любого из его конкурентов было очень болезненным, но здесь это не так.
Все компоненты, используемые для создания этого магазина, стабильны и по-прежнему находятся на npm. Вы можете использовать их, если хотите, и у меня есть живые приложения, которые до сих пор их используют.
Однако защита новейших функций браузера имеет свои риски. Polymer в значительной степени полагался на импорт HTML (который когда-либо реализовывался только в Chrome и в конечном итоге был исключен) и на собственную библиотеку шаблонов. В конечном итоге он был перенесен на модули ES6, но структура ядра для него гораздо менее подходит. Эти компоненты довольно стабильны, но вы действительно не хотите начинать с ними что-то новое.
Lit гораздо менее самоуверенна, чем Polymer, и гораздо более низкого уровня. Например, Polymer поддерживал двустороннюю привязку с синтаксисом {{property}}
, но должен был делать предположения (которые часто нарушались) о том, что вы делаете для его поддержки. Lit отбрасывает это для чрезвычайно стабильных установщиков свойств, но если вы хотите, чтобы пользователи записывали значения, вам нужно подписаться на события и свернуть это самостоятельно (хотя Lit делает события очень простыми в управлении).
Поэтому, если вы собираетесь создавать свои собственные веб-компоненты или приложения, LitElement — лучший выбор, а LitElement легкий и полностью совместим со всем остальным. Вы можете использовать эти компоненты магазина полимеров в Lit (у меня есть), но для большинства из них есть более новые альтернативы, в частности MWC.
person
Keith
schedule
17.05.2021