SPA, SSR, SSG: выбор подхода

↑ 8.2 Архитектура фронтенда и паттерны · ← Предыдущая · → Следующая

Желательно~3 мин чтенияУровень: senior

Зачем это на собесе

Итоговое решение архитектора: на каких критериях выбирать.

Критерии

КритерийSPA (CSR)SSRSSG
SEOслабоеотличноеотличное
Первый показмедленнеебыстреесамый быстрый
Интерактивностьсразу после загрузки JSпосле гидрациипосле гидрации
Персонализациялегкосреднеклиентскими блоками
Стоимость инфраструктурыстатикасерверстатика/CDN
Свежесть данныхпо запросупо запросупри сборке/ISR
Сложность разработкинизкаявышесредняя

Дерево решений

  1. Нужен SEO и первый показ важен? Нет → SPA (админки, дашборды, внутренние сервисы).
  2. Контент редко меняется, страниц не миллионы? → SSG.
  3. Контент меняется часто, но публичный? → SSR с кэшем или ISR.
  4. Смесь? → гибрид по маршрутам (Nuxt routeRules).

Примеры

  • CRM, панель заказов → SPA;
  • документация, блог → SSG;
  • интернет-магазин → SSR/ISR, корзина и профиль клиентским кодом;
  • лендинг с формой → SSG.

Дополнительно

  • Pre-rendering для отдельных SPA-страниц;
  • островная архитектура (Astro) для контентных сайтов;
  • при SSR продумать кэш, нагрузку, деградацию.

Вопросы с ответами