-
-
Notifications
You must be signed in to change notification settings - Fork 59
VirtualDOM vs IncrementalDOM vs RemakeDOM vs ShadowDOM vs ManualDOM vs DirectDOM
nin-jin edited this page Nov 9, 2022
·
1 revision
Различные методы рендеринга..
- Создание нового виртуального дерева, сравнение его с предыдущей версией, и применение разницы к реальному дереву.
- Используется в React и его клонах.
- Постоянное выделение и освобождение памяти.
- Много лишней работы даже если реальное дерево никак не поменяется.
- Исполнение последовательности инструкций рендеринга, которые игнорируют запуск с теми же параметрами, что и в прошлый раз.
- Используется в Angular Ivy.
- Много лишней работы даже если реальное дерево никак не поменяется.
- Полное удаление прошлого дерева, создание нового с нуля и восстановление его состояния.
- Используется в проектах на базе строковых шаблонизаторов типа handlebars и других.
- Пересоздание дерева очень дорого.
- Восстанавливать состояние сложно и не всегда возможно (например, открытость селекта).
- Рекурсивное использование узлов реального дерева в качестве компонент.
- Используется в Polymer.
- Постоянное работа через хостовые объекты само по себе медленное, так ещё и блокирует JIT оптимизации.
- Очень неудобный API.
- Ручное создание и обновление дерева.
- Используется в проектах на базе jQuery, Vanilla.
- Много сложного кода, что приводит к багам и тормозам.
- Прямая связь свойств компонента со свойствами узла дерева.
- Используется в $mol.