Перейти к основному содержимому

SPA и выбор frontend-фреймворка


Обзор SPA и frontend-стека

Раздел Frontend Frameworks разбит по технологиям. Здесь — общая терминология (SPA, компонент, state, bundler) и критерии выбора фреймворка перед углублением в React, Vue или Angular.

Связка с сервером — Fullstack. Meta-фреймворки (SSR) — Next.js.


SPA — одностраничное приложение

После первой загрузки HTML/JS навигация не перезагружает всю страницу: JavaScript меняет DOM и подгружает данные с API. URL меняется через History API (/notes, /settings).

ЧастьРольПример
БраузерUI, логика отображенияReact на :5173
APIДанные, правилаExpress на :3000
СборщикJSX → JS, dev-серверVite

Общие идеи у React, Vue и Angular

ИдеяСмысл
КомпонентКусок UI + логика, переиспользуется
СостояниеДанные, от которых зависит экран
РеактивностьПри смене данных UI обновляется
МаршрутизацияURL → экран (React Router, Vue Router, Angular Router)
Сборкаnpm run dev / npm run build

Различаются синтаксисом и тем, насколько фреймворк задаёт архитектуру за вас.


Как выбрать

КритерийReactVueAngular
Порог входаСреднийНижеВыше
ЭкосистемаОгромнаяБольшаяКорпоративная
TypeScriptОпциональноОпциональноПо умолчанию
Готовые решения из коробкиМало (библиотека)СреднеМного (платформа)
Типичный работодательСтартапы, продуктСмешанноEnterprise, банки

Ext JS — отдельная ниша: готовые enterprise-виджеты, legacy-системы — 4-ext-js.

Не застревайте на выборе месяцами: пройдите первую программу на одном стеке, затем сравните по ощущениям.


Маршруты по фреймворкам

ФреймворкСтартОбзорСправочник
React27227271
Vue28228281
Angular29229291
Ext JS31231311

Связанные материалы