Фронт или бек — чья это логика?
Есть вопрос который поднимается у нас на каждом проекте и никогда не решается окончательно.
Где живёт логика — на фронте или на беке?
Бек говорит: отдаём данные, дальше сами. Фронт говорит: мы не можем делать семь запросов чтобы показать одну таблицу. Оба раздражены. Решения нет — потому что некому его принять.
Честно говоря, фронтендеру проще когда всё на беке. Меньше кода, меньше ответственности, красота. Но так не работает.
Бизнес-логика — правила, расчёты, валидация которая влияет на данные — должна жить на беке. Потому что фронт можно открыть в devtools или postman и отправить что угодно. Валидация только на фронте — это не защита, это просьба вести себя хорошо.
На фронте валидация нужна — но только чтобы пользователю было понятно что можно вводить а что нет. Подсветить поле, задизейблить кнопку, показать подсказку. Это про интерфейс, не про безопасность. Если кто-то снял disable в devtools и всё равно отправил запрос — бек должен вернуть ошибку. Это его работа.
Всё остальное — серая зона. Сортировка, трансформация, форматирование — зависит от объёма данных, от аудитории, от того насколько нагружен бек. Универсального ответа нет, и это нормально.
Ненормально другое — когда некому это решение принять. Когда нет человека который смотрит на продукт целиком и говорит «вот граница, вот почему». А сейчас получается каждый спор решается не по делу, а по тому кто громче настаивал на общей встрече.
Отдельная история — костыли. Допустим есть исключение в логике — его можно добавить на фронте во всех местах, или один раз на беке. Кажется, очевидно. Но иногда это исключение реально существует в интерфейсе — оно как бы должно быть в логике, просто пользователь не должен про него знать. Тогда фронт. А иногда это чистое бизнес-правило которое просто работает не так как должно — тогда неправильно будет делать этот костыль на фронте.
Нам иногда не хватает общего тимлида на фронт и бек вместе. Человека который понимает обе стороны и может сказать, где делать логику и куда правильнее добавить костыль — и это будет решение, а не чья-то капитуляция.
· 05.06
У нас такой человек есть, это тех. директор. Ео у нас и разработчиков 4 человека включая его.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён