Обновить
1
0

Пользователь

Отправить сообщение

Согласен, но есть проблемы с iframe, например описанные в вашей статье :)
Как вариант можно изолироваться от глобальных стилей сайта с помощью Shadow DOM

Как раз фишка этого фреймворка в изоляции, он весь код преобразует в нативный JS, с-но конфликтов не может быть (глобальное пространство не затргивается) :)
Его "рантайм" весит ~3kb, так что дополнительной нагрузки почти не будет.
Зато не нужно тащить iframe и что-то придумывать. Так же повышается удобство разработки в компонентном подходе (есть поддержка TypeSript), а не прямая работа с DOM.

Как по мне для виджетов идеально подходит svelte. Он не имеет рантайма, поэтому не будет конфликтов версий, изоляция стилей из коробки и будет гораздо легче разрабатывать и поддерживать виджет, а не так:


this.containerElement.innerHTML = '<button>Виджет кнопки</button>';
Нет, при смене роута, будут запрошены и переданы по сети только props, необходимые для отрисовки серверного компонента на клиенте. Оба способа реализовывать не нужно (вообще может быть кейс что вы достаете данные напрямую из бд).
Ограничения есть и каждый компонент перевести не получится. К минусам также можно отнести то, что необходимо будет поднимать еще один сервер для обработки серверных компонентов, т.е. нельзя будет просто положить статику на какой-нибудь S3.
Что вы подразумеваете под «перерисовыватся»? Если это дорогая, в плане производительности, операция по отрисовке элементов в DOM, то ее не будет. Если это операция по сравнению элементов в VDOM, то данная операция очень быстрая, в большинстве случаев за нее беспокоиться не стоит. Способом оптимизации из первого примера данной статьи вам придется пользоваться очень редко, если вообще придется.

Я думаю вам стоит глубже разобраться в механизме рендеринга в реакте, например из этой статьи.
Про какую утечку памяти идет речь? Максимум чем грозит первый пример это лишним сравнением виртуального DOM, самой дорогой операции по перерисовке DOM не будет. Про ваш пример со снежинками, а как вы хотите без перерисовки менять положение элементов в окне бразуера?
Во-первых — чтобы Angular шёл бы в ногу со временем и соответствовал бы современному состоянию экосистемы JavaScript.

Обновлён, до версии 6, линтер TSLint.


TSLint has been deprecated as of 2019

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность