Хорошее замечание! В данном примере отписку (removeeventlistener) делать не нужно тк Garbage Collection сделает свое дело. При удалении элемента из DOM дерева все слушатели автоматически удаляются. Но! есть нюанс: если бы я делал подписку скажем на document или любой внешний элемент. То да отписка в данном случае была бы обязательна.
Еще ксати заметил данный компонент который создан с использрованием declarative shadow dom нет возможности создать динамически или склонировать тк shadow dom в данном случае привязывается при загрузке страницы. И тут возможно стоит рассмотреть вариант с attachShadow в дополнении к declarative (на случай клонирования или если браузер не поддерживает)
Вообще говоря у меня не было изначально цели сравнивать библиотеки, я считаю веб компоненты могут служить неплохим дополнением для библиотек. Например можно сделать какие-то базовые компоненты а потом использовать их в связке с React, Vue на разных проектах.
Веб компоненты не так удобны в разработке, тут согласен. Но тем не менее ряд преимуществ все таки имеются: 1. не нужно устанавливать доп пакеты/модули (можно даже обойтись без сборки); 2. нет проблем с версионированием; 3. на веб компонентах вы пишите сразу агностик, а значит компонент который вы реализуете один раз могут использоваться и с тем же React, Svelte, Vue и тд. 4. дебажить существенно проще: благодаря небольшому стэк трейсу (в отличии от vue например) и отсутствие computed свойств. Когда в коде появлюятся длинные цепочки computed свойств - это настоящая проблема тк в какой-то момент ты перестаешь понимать что происходит (лично мое мнение, я с этим сталкивался достаточно часто:) )
Я наверное немного отстал от жизни) Просто во фронтенде такое многообразие библиотек и фреймворков что все изучить просто нереально (Я до этого писал на React и Vue). Сейчас решил посмотреть на то что есть из коробки и мне это очень понравилось, вот и решил поделится)
learn.javascript отличный сайт, там много хорошего материала. Я бы хотел написать еще пару статей на эту тему, подскажите что можно было бы улучшить? и что вы имеете ввиду под более детальнее? Больше примеров?
Спасибо большое) По времени проект занял примерно пол года, тк было много экспериментов как с геймплеем так и с реализацией технической части. Но думаю при наличие понимания четкого тз разработка бы заняла 1-2 месяца при условии что есть соответсвующий опыт в веб разработке. В своем гайде я описал стэк достаточный для реализации подобного проекта, конечно я не углублялся в техническую реализацию (статья получилась бы сильно затянутой) однако описал основные моменты и замечания, эта статья больше про общее представление как все работает и почему я применял то или иное решение. Но в целом спасибо за комментарий, справедливое замечание что хотелось бы пошаговый гайд для новичков. Возможно и напишу следующую статью на эту тему :)
Отличная статья! Также интересовался платформой в качестве альтернативы Play Market и App Store. Но как там сейчас обстоят дела с продвижением? В тг насколько знаю есть местный Store и вот чтобы туда разместиться нужно ждать месяца 3 модерации, а это уже круто (Но не знаю как с этим обстоят дела сейчас, пробовал месяца 3 назад)
Хорошее замечание! В данном примере отписку (removeeventlistener) делать не нужно тк Garbage Collection сделает свое дело. При удалении элемента из DOM дерева все слушатели автоматически удаляются. Но! есть нюанс: если бы я делал подписку скажем на document или любой внешний элемент. То да отписка в данном случае была бы обязательна.
Еще ксати заметил данный компонент который создан с использрованием declarative shadow dom нет возможности создать динамически или склонировать тк shadow dom в данном случае привязывается при загрузке страницы. И тут возможно стоит рассмотреть вариант с attachShadow в дополнении к declarative (на случай клонирования или если браузер не поддерживает)
Вообще говоря у меня не было изначально цели сравнивать библиотеки, я считаю веб компоненты могут служить неплохим дополнением для библиотек. Например можно сделать какие-то базовые компоненты а потом использовать их в связке с React, Vue на разных проектах.
Веб компоненты не так удобны в разработке, тут согласен. Но тем не менее ряд преимуществ все таки имеются:
1. не нужно устанавливать доп пакеты/модули (можно даже обойтись без сборки);
2. нет проблем с версионированием;
3. на веб компонентах вы пишите сразу агностик, а значит компонент который вы реализуете один раз могут использоваться и с тем же React, Svelte, Vue и тд.
4. дебажить существенно проще: благодаря небольшому стэк трейсу (в отличии от vue например) и отсутствие computed свойств. Когда в коде появлюятся длинные цепочки computed свойств - это настоящая проблема тк в какой-то момент ты перестаешь понимать что происходит (лично мое мнение, я с этим сталкивался достаточно часто:) )
Я наверное немного отстал от жизни) Просто во фронтенде такое многообразие библиотек и фреймворков что все изучить просто нереально (Я до этого писал на React и Vue). Сейчас решил посмотреть на то что есть из коробки и мне это очень понравилось, вот и решил поделится)
learn.javascript отличный сайт, там много хорошего материала.
Я бы хотел написать еще пару статей на эту тему, подскажите что можно было бы улучшить? и что вы имеете ввиду под более детальнее? Больше примеров?
Спасибо большое) По времени проект занял примерно пол года, тк было много экспериментов как с геймплеем так и с реализацией технической части. Но думаю при наличие понимания четкого тз разработка бы заняла 1-2 месяца при условии что есть соответсвующий опыт в веб разработке.
В своем гайде я описал стэк достаточный для реализации подобного проекта, конечно я не углублялся в техническую реализацию (статья получилась бы сильно затянутой) однако описал основные моменты и замечания, эта статья больше про общее представление как все работает и почему я применял то или иное решение.
Но в целом спасибо за комментарий, справедливое замечание что хотелось бы пошаговый гайд для новичков. Возможно и напишу следующую статью на эту тему :)
Отличная статья! Также интересовался платформой в качестве альтернативы Play Market и App Store. Но как там сейчас обстоят дела с продвижением? В тг насколько знаю есть местный Store и вот чтобы туда разместиться нужно ждать месяца 3 модерации, а это уже круто (Но не знаю как с этим обстоят дела сейчас, пробовал месяца 3 назад)