Опять реакт.. Что же все на этот оверхайп ведутся. Одна из компаний, в которых я работал, запустила проект на реакте, потому как, якобы, проще на него найти разработчиков. И народ идёт реакт учить, потрму что с ним больше вакансий.
Между тем, реакт объективно (как технология) много хуже вью. Да, с ним возможно создавать сайты, но куда сложнее и с намного худшей производительностью, с большим числом багов.
Ручное управление реактивными зависимостями — главный источник багов.
Второй источник — компонент как функция, выполняющаяся при каждом обновлении компонента. Легче лёгкого привнести бесконечные циклы.
По производительности — при каждом проходе аллоцируем тонны массивов (для зависимостей), каждый вызов useState при обновлении компонента аллоцирует под капотом ещё один массив (кортеж). Каждый коллбэк — функция. Функции в джаваскрипте — объекты, и стало быть — дополнительные аллокации при каждой перерисовке компонента. Например, при вводе текста в инпут.
По DX — нет двустороннего биндинга. Для циклов — callback hell. Условия — те ещё извращения. Попытка запихнуть и логику, и шаблон, и стили в джаваскрипт, закончилась плачевно. Имеем PHP-подобный JSX (с htmlFor и className вместо for и class), тонны кривого CSS-in-JS.
Про сторы вроде редакса я вообще молчу: мантра об иммутабельности — пляска бойлерплейта на костях сборщика мусора.
Вью, с другой стороны, имеет идеальную автоматическую реактивность. Не аллоцирует лишнего. Легко управляется. Темплейт — валидный HTML, удобные директивы v-if, v-for, v-model (для двустороннего биндинга), оптимизация на этапе компиляции. Идеальный стор Pinia, простой роутер, идеальные provide и inject. Вью может всё, что может реакт, но проще, быстрее и лучше. А уж если взять Nuxt — так жизнь и вовсе мёдом покажется.
Реакт давно пора оставить на свалке истории. Он был хорош только на фоне ангуляра и jQuery.
Опять реакт.. Что же все на этот оверхайп ведутся. Одна из компаний, в которых я работал, запустила проект на реакте, потому как, якобы, проще на него найти разработчиков. И народ идёт реакт учить, потрму что с ним больше вакансий.
Между тем, реакт объективно (как технология) много хуже вью. Да, с ним возможно создавать сайты, но куда сложнее и с намного худшей производительностью, с большим числом багов.
Ручное управление реактивными зависимостями — главный источник багов.
Второй источник — компонент как функция, выполняющаяся при каждом обновлении компонента. Легче лёгкого привнести бесконечные циклы.
По производительности — при каждом проходе аллоцируем тонны массивов (для зависимостей), каждый вызов useState при обновлении компонента аллоцирует под капотом ещё один массив (кортеж). Каждый коллбэк — функция. Функции в джаваскрипте — объекты, и стало быть — дополнительные аллокации при каждой перерисовке компонента. Например, при вводе текста в инпут.
По DX — нет двустороннего биндинга. Для циклов — callback hell. Условия — те ещё извращения. Попытка запихнуть и логику, и шаблон, и стили в джаваскрипт, закончилась плачевно. Имеем PHP-подобный JSX (с htmlFor и className вместо for и class), тонны кривого CSS-in-JS.
Про сторы вроде редакса я вообще молчу: мантра об иммутабельности — пляска бойлерплейта на костях сборщика мусора.
Вью, с другой стороны, имеет идеальную автоматическую реактивность. Не аллоцирует лишнего. Легко управляется. Темплейт — валидный HTML, удобные директивы v-if, v-for, v-model (для двустороннего биндинга), оптимизация на этапе компиляции. Идеальный стор Pinia, простой роутер, идеальные provide и inject. Вью может всё, что может реакт, но проще, быстрее и лучше. А уж если взять Nuxt — так жизнь и вовсе мёдом покажется.
Реакт давно пора оставить на свалке истории. Он был хорош только на фоне ангуляра и jQuery.
Почему не Temporal?