Сообщество веб-компонентов полимерные веб-компоненты

Если я посмотрю на магазин полимеров, я сразу же пойму, что хочу использовать его в качестве стартового для моего интернет-магазин. Не только потому, что это уже интернет-магазин (полная технология pwa), но и потому, что он отлично работает (офлайн) в браузере/мобильном устройстве, имеет надлежащая документация и до сих пор поддерживается.

Но затем посмотрите на домашнюю страницу полимера и увидите, что проект основан на устаревшей версии полимера, и даже тот факт, что в нем используется полимер, любопытен:

Библиотека Polymer находится в режиме обслуживания. Для новой разработки мы рекомендуем лит.

Итак, мой вопрос: будет ли lit иметь богатый выбор веб-компонентов, от которых зависит магазин?

Это может быть глупый вопрос, но я пропустил полимер, кроме как посмотреть некоторые интересные новости в Google IO.


person HMR    schedule 10.05.2021    source источник
comment
Polymer был базовым классом Google поверх (старой) версии Web Components V0 (которая была частью Google, а не стандартом). Освещен новый базовый класс Google, созданный на основе стандартных веб-компонентов W3C версии 1, которые работают во всех современных браузерах (с 2018 года). Этот магазин полимеров можно построить с помощью версии 1; Не знаю, делал ли уже кто-нибудь. Это довольно просто. Начните с lit.dev   -  person Danny '365CSI' Engelman    schedule 11.05.2021
comment
@Danny'365CSI'Engelman Спасибо за ваш ответ, я вижу, что у полимера была богатая библиотека веб-компонентов и они используются в проекте магазина. Если бы я перенес проект магазина на lit, возникли бы у меня проблемы с использованием зависимостей? Я хочу создать лучшую демонстрацию магазина, которая имеет базовый нативный вид, работает на мобильных устройствах и ноутбуках и работает в автономном режиме (при запросе продукта). Есть еще 2 возможных кандидата; ionic и нативный   -  person HMR    schedule 11.05.2021
comment
Помимо того, что все нативные, есть несколько базовых классов (например, Ionic). Они дают вам легкий старт. Но A. Вы изучаете инструмент, а не технологию. B. Никто не посмеет поспорить, какой из них все еще будет существовать через 3 года. Помните... в начале, 15 лет назад, были времена jQuery, где также были десятки альтернатив... Если вы выбрали что-то кроме jQuery... вы заплатили цену. См. WebComponents.dev/все способы создания Веб-компонент ... у них есть 55 инструментов на выбор   -  person Danny '365CSI' Engelman    schedule 11.05.2021
comment
Есть канал Slack: lit-and-friends.slack.com< /б>; Сотрудники Google Джастин Фаньяни и/или Гэри Нортон, вероятно, могут рассказать вам все о (старом) коде/магазине Polymer.   -  person Danny '365CSI' Engelman    schedule 11.05.2021


Ответы (1)


Цель 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