@xbgnx внимание вопрос: если главная проблема которую решает реакт - производительность, то почему на него перешли почти все, в том числе те у кого про производительность никогда не болело?
ну проблема производительности появляется практически сразу на любых реальных приложениях и document.createElement становится боттлнеком и появляется необходимость как минимум в virtual-dom механизме. А для остальных стучаев когда производительность не является проблемой (когда дом-элементов в приложении немного и браузер вполне успевает генерировать дом-дерево всего приложения хоть даже на скорости 60фпс) - потому что хайп
а я не сказал что виртуал-дом это единственное решение - это один из способов оптимизировать скорость генерации/актуализации верстки путем применения только гранулярных изменении в статическом/retain дом-дереве
На это могу сказать что у меня такая же нога не болела. Но тем не менее попробовав реакт я убежал на него сверкая пятками. И нет, хайп до меня тогда не докатился.
И да, я не отрицаю аргумент про производительность. Проблема в том что он никогда не был самым важным (для негуглов) при выборе между фреймворком и велосипедом. Он был достаточно важным лет... не помню назад при выборе "реакт вс другие фреймворки", и точно не является таким в этом споре сейчас.
так ангуляр точно так же же рекурсивно сравнивает шаблоны с неким соотвествующим деревом метаданых (которые остались от предыдущего рендера-спуска по шаблонам - нечто похожее было раньше в incremental-dom - https://github.com/google/incremental-dom только считывает дерево объектов в памяти а не реальное дом-дерево). Точно так же делает ember и svelte только это еще более оптимизированный спуск с где проверяется уже не дерево объектов верстки а дерево данных отдельных binding-выражений в шаблоне. То есть все тот же как в виртуал-доме механизм рекурсивной проверки предыдущих значений с новыми и если они отличаются то применяются изменения на реальных дом-элементах. И все эти подходы к шаблонизации всего лишь решают главную проблему - тормоза генерации верстки через document.createElement (то есть если бы вызов document.createElement и установка свойств-стилей не тормозило то виртуал-дом реакта другие подходы шаблонизации были бы не нужны)
Иронично, что вопрос про то зачем нужны реакт и вью является первым в письменном опроснике при приеме на работу в gitlab, поэтому я знаю и что я отвечал, и что потом (в рамках тренинга по оценке письменных опросников) ждёт гитлаб в ответе. Перформанс не на первом месте