Я правильно понял, что веб-компоненты (я про браузерное АПИ, а не про фреймворковские компоненты) они как бы кэшируются, поэтому при перезагрузке страницы если она вся сделана из веб-компонентов, то не будет сначала появляться пустой экран, а потом уже содержимое сайта (не будет моргания?). А если просто создавать элемент напрямую и вставлять в ДОМ, то будет моргать?
Я просто думаю использовать ли на сайте "веб-компоненты + stimulus" или использовать "обычные html элементы + stimulus"
Веб компоненты это создание своего тега на основе js.
Если вставить код после объявления тега он будет не валидным.
Следственно js исполнение кода не кэшируется -> каждый раз он создаёт их заново.
Моргать они не будут. Нужно код для компонентов ставить перед HTML разметки с их использованием.
Зачем вам веб компоненты, какую вы задачу решаете что вам не обойтись без базовых?
Не забывайте что в базовых компонентах гораздо больше настроек чем кажется. (Семантика, Возможность переключения, Настройки для аппаратов для чтения.)
Если и делать что-то то это расширять базовые.(Наследоваться от них)
Я пришёл в программирование делать свои проекты образовательные, буду делать контентный сайт на hybridsjs + stimulus.
В hybridsjs написано, что она кэширует компоненты. Что это значит?
Но роутер буду использовать обычный от экспресса. У меня на старых статичных технологиях очень хорошо получается делать сайты быстро. Я на изучение реактивных фреймворков и тайпскрипта потратил ещё дополнительно год. В целом я много что оттуда подчеркнул, но делать сайт на реакте и тс я всё-таки не стал, слишком много подводных камней. Одна типизация редакс саги или редакс тулкит чего стоит. Есть от опытных программистов такой совет - если ты пришел в программирование делать свой проект, то делай его на чём можешь как можно быстрее, а если упадёшь в изучение всех фреймворков, то может произойти всякое, например, забьёшь на разработку своего проекта. Прав я или нет? С другой стороны я хотел подстраховаться и в случае провала своих проектов пойти реакт разрабом, но мне разонравилось в типизироанном реакте и его друзьях возиться.
partyzanx,
Ну если написано что кэширует, значит кэширует, я не разбирался в этой библиотеки.
А кэширование если в крациях это сохранение результата не повторяя вычисления.
Теперь как учитель дам 2х минутный урок) И мысли по этому:
Есть от опытных программистов такой совет - если ты пришел в программирование делать свой проект, то делай его на чём можешь как можно быстрее, а если упадёшь в изучение всех фреймворков, то может произойти всякое, например, забьёшь на разработку своего проекта.
Ну тут я могу поспорить. Я думаю тут суть была в том что-бы вам было это интересно.
Просто придумать проект "Сделать соц сеть" как правило не к чему не приводит, большинству людей гораздо интереснее придумывать идею, а не реализовывать её. Лучше ставьте маленькие но конкретные проекты.
Если и делать проект то он должен приносить вам реальную пользу, а не "Проект ради проекта".
- Калькулятор расходов.
- Тудушка.
- Календарь событий.
Когда вы будете решать конкретные задачи вам прийдётся учиться. Вы будите видеть конкретные действия для этого. Все эти проекты в основном направлены на обучения основам.
На самом деле концепции важнее всего.
Как только вы поймёте что всё программирование крутится вокруг глобальной проблемы "Данные". Станет полегче.
Всё остальное для вас будет как решение проблем с данными)
Алексей Дубровин, я препод китайского и делаю проекты которые упрощают изучение китайского. Достаточно они сложные. И программировать лучше всего как по маслу шло на старых технологиях))) Но сейчас я получил опыт в реактивных фреймворков, и буду использовать компонентный подход через браузерные веб-компоненты. Мне нравятся вещи, которые просты и надёжны как АК-47, без подводных камней и чёрной магии, и чтобы всё было видно, а не спрятано за сотней инстансов.
partyzanx,
Тк React простой) там ничего не скрыто)).
Там же буквально указываешь зависимость и говоришь.
Если эти данные есть то рисуй. Данные изменяться перерисуй.
Стек React помогает решить проблему разграничений данных))
partyzanx,
))) Ну в принципе я про это и говорю вам нужно понимать что делает каждый конкретный инструмент.
Ререндеры происходят тк как это логично, что если данные изменяются мы должны заново отрисовывать компонент. Реакт ровно для этого и существует. Чтобы рендерится от данных. Мы же не статическую страницу делаем.
Друзья реакта то же очень простые. Тк как решают конкретные задачи.
Роутер(Следит за адресом, подставляет соответствующее компонент).
Менеджер состояний?. Он буквально называется тк, как какое действие он делает)
TS - Нужен для удобной и предсказуемой работы в первую очередь. Линтеры и прочее не могут анализировать и подсказывать если не понимают с чем они работают. Чем меньше человек думает над тем" А что это за переменная и для чего она нужна" тем меньше ошибок он допускает.
Шо там осталось.
Ну ещё какую-нибудь библиотеку для асинхронных запросов. И она делает ровно это.
В итоге у нас каждый инструмент очень простой. Он не пытается всё сделать а решает конкретную задачу.
Продублирую то что писал выше:
На словах всё идеально. А потом ты видишь это (скриншот) и понимаешь что не хочешь этим заниматься по жизни, копаться в этом дерме))) На скриншоте вообще нет интуитивно понятных вещей. Программирование превращается просто в изучение запутанных фреймворков
partyzanx,
Мои последнее высказывания)
1) Это библиотека. И от фреймворка их опять же отличает концепт.
Я понятия не имею почему вам кажется это трудным. У меня есть лишь одна идея, и она заключается в том, что у вас большой провал в основах. Я не понимаю как можно не понимать что тут написано если вы понимаете синтаксис и управляющие конструкции.
ПС:
Я не изучал TC, я просто знаю как работаю типы) в повседневной жизни я его не использую, я не люблю громоздкие структуры. Я пишу на ТС только когда меня заставляют)). Но это не мешает мне бегло читать что тут происходит.
По поводу копаться. Вот тут есть линтер. и система типов, которые показывают почему и как и позволяют быстро по ним ходить.
Шикарно вы живёте, если для вас найти типы это "копаться".
Алексей Дубровин, так ладно, предлагаю не отходить от темы разговора. Сейчас от опытных людей узнал, что веб-компоненты браузерного АПИ даю нагрузки на процессор раз в 5-7 меньше чем реактовские. Это по делу, надеюсь пригодится инфа Вам .