SSR выключили. Почему сервер всё равно живёт?
SSR - это только одна из задач серверной части приложения.
🌱 В проектах на Nuxt и Next сервер не обязательно существует ради SSR.
Даже если приложение работает как SPA, серверная часть может использоваться для обработки API-запросов, проксирования, моков, внутренних эндпоинтов, а также задач разработки и сборки.
Из-за этого нередко смешиваются несколько разных архитектурных ролей.
SSR отвечает за генерацию HTML.
BFF выступает единой точкой входа для интерфейса и может агрегировать данные из нескольких сервисов.
Серверная часть фреймворка предоставляет инфраструктуру для серверной логики: API-роутов, прокси, моков и других внутренних задач.
Эти роли могут быть объединены в одном процессе, но это независимые архитектурные решения.
На практике можно встретить разные подходы. В одних проектах вся серверная логика остаётся внутри Nuxt или Next. В других BFF выносится в отдельный сервис, а серверная часть фреймворка используется только для инфраструктурных задач. Есть и сценарии, где фронтенд работает с API напрямую без промежуточного слоя.
Интересно посмотреть, какие подходы чаще используются в реальных проектах. Где у вас проходит граница между фронтендом, серверной частью фреймворка и BFF❓
· 01.07
Переодически сталкивался с принцепипльной позицией бэкендеров, что тот или иной функционал необходимо реализовывать на frontend. Типа вам же легче. При том что да, по факту многие такие вещи сводятся к серверной части middleware. Из таких кейсов я помню делал и кэширование сгенерированной SSR статики, логику роутинга на сабдомены в зависимости от выбранного города, различные темки с изменением вызова ручек в зависимости от передаваемого контекста на сервер и т.п. (хотя при этом данные то эти и бэк сразу видит, зачем ручки менять, не понятно). А потом уже когда повысили и в меньшей степени следил за конкретными проектами - находил аналогичные фичи, но уже со стороны backend. Спрашивал в таких случаях у лидов, а отчего дескать так, почему не взяли готовую реализацию? И раз за разом получал ответ - backend сказал, что это легче было реализовать на их стороне, за советом и не стали идти.
Это уже потом стали умнее и начали выстраивать некое подобие BFF в виде отдельных модулей, npm либ и реестра функционала, в которой расписали кто за конкретный функционал отвечает. Ушло правда но это года два, но стоило того.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 03.07
Тоже сталкивался с таким. Со временем всё больше кажется, что вопрос не в том, на какой стороне проще написать код, а где этому коду логичнее жить. Когда у каждого слоя есть своя зона ответственности, потом намного легче сопровождать проект и не таскать одну и ту же логику между фронтом и бэком.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён