Size: a a a

JavaScript.Ninja

2021 April 28

AM

Alex Makarov in JavaScript.Ninja
@xbgnx внимание вопрос: если главная проблема которую решает реакт - производительность, то почему на него перешли почти все, в том числе те у кого про производительность никогда не болело?
источник

IK

Illya Klymov in JavaScript.Ninja
А теперь вопрос - как же тогда живут движки без virtual dom
источник

IK

Illya Klymov in JavaScript.Ninja
Самый простой пример - angular
источник

YS

Yuri Strelets in JavaScript.Ninja
ненавязчивая реклама стартера? 😂
источник

IK

Illya Klymov in JavaScript.Ninja
В котором ivy renderer не использует virtual dom и работает быстрее react
источник

IK

Illya Klymov in JavaScript.Ninja
И если виртуал дом столь быстр, чего же реакт столько борется за time slicing :)
источник

IK

Illya Klymov in JavaScript.Ninja
Нет, основная проблема которую решает реакт - не перформанс
источник

Б

Богдан in JavaScript.Ninja
ну проблема производительности появляется практически сразу на любых реальных приложениях и document.createElement становится боттлнеком и появляется необходимость как минимум в virtual-dom механизме. А для остальных стучаев когда производительность не является проблемой (когда дом-элементов в приложении немного и браузер вполне успевает генерировать дом-дерево всего приложения хоть даже на скорости 60фпс) - потому что хайп
источник

h

hwe in JavaScript.Ninja
В своё время - Реакт решил проблемку Фейсбука - а потом начал создавать проблемы всем остальным))
Например, холиварные проблемы))
источник

Б

Богдан in JavaScript.Ninja
а я не сказал что виртуал-дом это единственное решение - это один из способов оптимизировать скорость генерации/актуализации верстки путем применения только гранулярных изменении в статическом/retain дом-дереве
источник

IK

Illya Klymov in JavaScript.Ninja
Virtual dom лишь implementation detail :)
источник

AM

Alex Makarov in JavaScript.Ninja
На это могу сказать что у меня такая же нога не болела. Но тем не менее попробовав реакт я убежал на него сверкая пятками. И нет, хайп до меня тогда не докатился.

И да, я не отрицаю аргумент про производительность. Проблема в том что он никогда не был самым важным (для негуглов) при выборе между фреймворком и велосипедом.
Он был достаточно важным лет... не помню назад при выборе "реакт вс другие фреймворки", и точно не является таким в этом споре сейчас.
источник

Б

Богдан in JavaScript.Ninja
так ангуляр точно так же же рекурсивно сравнивает шаблоны с неким соотвествующим деревом метаданых (которые остались от предыдущего рендера-спуска по шаблонам - нечто похожее было раньше в incremental-dom - https://github.com/google/incremental-dom только считывает дерево объектов в памяти а не реальное дом-дерево). Точно так же делает ember и svelte только это еще более оптимизированный спуск с где проверяется уже не дерево объектов верстки а дерево данных отдельных binding-выражений в шаблоне.  То есть все тот же как в виртуал-доме механизм рекурсивной проверки предыдущих значений с новыми и если они отличаются то применяются изменения на реальных дом-элементах. И все эти подходы к шаблонизации всего лишь решают главную проблему - тормоза генерации верстки через document.createElement (то есть если бы вызов document.createElement и установка свойств-стилей не тормозило то виртуал-дом реакта другие подходы шаблонизации были бы не нужны)
источник

IK

Illya Klymov in JavaScript.Ninja
Вы повторяете на разные лады одну мысль, не подкрепляя ее аргументами - почему же это главная задача, кроме того что вам так кажется
источник

IK

Illya Klymov in JavaScript.Ninja
Иронично, что вопрос про то зачем нужны реакт и вью является первым в письменном опроснике при приеме на работу в gitlab, поэтому я знаю и что я отвечал, и что потом (в рамках тренинга по оценке письменных опросников) ждёт гитлаб в ответе. Перформанс не на первом месте
источник

E

Eugene (\/)(o.o)(\/) in JavaScript.Ninja
Если ответ на вопрос для всех не очевидно одинаков, значит разные люди могут выбирать для себя реакт по разным причинам.

Или вы настаиваете, что большинство людей, которые принимают подобные решения в коммерческих продуктах, ответили бы одинаково
источник

AM

Alex Makarov in JavaScript.Ninja
я хз что ждет гитлаб, но ответ про перформанс в каком-то виде ждут часто потому что это был номер один в продающих речах фейсбуковцев про реакт :)
источник

IK

Illya Klymov in JavaScript.Ninja
Да, по опыту проведения собеседований :)
источник

IK

Illya Klymov in JavaScript.Ninja
Последнее время нет
источник

IK

Illya Klymov in JavaScript.Ninja
Они все больше рассказывают что главное не performance а perceived performance
источник