瀏覽代碼

Обновить 'Лекции/Arkhitektura_Sovremennogo_STAKa/FirstLecture.md'

u23novikov 1 月之前
父節點
當前提交
a261d5219e
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      Лекции/Arkhitektura_Sovremennogo_STAKa/FirstLecture.md

+ 1 - 1
Лекции/Arkhitektura_Sovremennogo_STAKa/FirstLecture.md

@@ -2,7 +2,7 @@
 
 **Декларативный рендеринг представляет собой парадигму описания пользовательского интерфейса**, при которой разработчик определяет *каким должен быть UI в конкретный момент времени* в зависимости от состояния приложения, а не предписывает последовательность команд для его изменения (императивный подход). Современные фреймворки (React, Vue, Svelte) реализуют эту парадигму через абстракцию **Virtual DOM** или компиляцию, что позволяет автоматически и эффективно синхронизировать фактический DOM с изменяющимся состоянием.
 
-![](Declarative-vs-Imperative-UI-update-diagram.png)
+![](1_fEhtrrrUj2m2iVqSy7EQCQ.png)
 *Ключевые слова для поиска изображения: declarative vs imperative UI, Virtual DOM diffing process*
 
 Ключевым инженерным вызовом является **эффективный расчет разницы (diffing) между состояниями UI**. Наивный подход — полная перерисовка при любом изменении состояния — неприемлем для производительности. React и подобные библиотеки используют эвристический алгоритм сравнения двух деревьев Virtual DOM (рекурсивный обход, сравнение по типу элемента и ключу `key`), чтобы вычислить минимальный набор мутаций для реального DOM. Это преобразует проблему обновления интерфейса из задачи изменения DOM (`element.appendChild()`) в задачу обновления данных (состояния).