Все современные фреймворки решают одну задачу: описать интерфейс как функцию от состояния и обновлять DOM автоматически, когда состояние меняется. Интерфейс собирается из компонентов — переиспользуемых частей со своими входными данными и состоянием.
| React | Vue | Angular | Svelte | |
|---|---|---|---|---|
| что это | библиотека интерфейса | прогрессивный фреймворк | полный фреймворк | компилятор |
| шаблоны | JSX | HTML-шаблоны или JSX | HTML-шаблоны | HTML-шаблоны |
| реактивность | перерисовка и сравнение | реактивные прокси | сигналы и zone.js | на этапе компиляции |
| в России | больше всего вакансий | заметная доля | энтерпрайз, банки | редко |
Для первой работы разумно глубоко выучить один — чаще всего React, — понимая общие идеи: компоненты, однонаправленный поток данных, состояние, побочные эффекты, маршрутизация. Перейти на другой после этого — дело нескольких недель.