TGViewer
10 минут до кода 10 минут до кода @ten_minutes_to_code · 228 subscribers
Post #38 83
Почему фронтенд должен оставаться «тупым»

Сегодня у вас бэкенд на PHP и Laravel, а завтра бизнес решает переписать всё на микросервисы на Go. Для грамотно спроектированной системы это не должно стать катастрофой.

Фронтенд вообще не должен знать, какая магия происходит на сервере. Для него бэкенд — это «черный ящик».

Всё, что их связывает — это API. Это жесткая договоренность, контракт: «Я присылаю тебе вот такой Payload на этот адрес, а ты возвращаешь мне статус-код и конкретную структуру данных». Если этот контракт соблюдается, вы можете менять внутренности бэкенда как перчатки, и фронт этого даже не заметит.

Фронтенд — это просто интерфейс.

Его задача: собрать данные из полей, упаковать их в запрос, отправить «в офис» и отрисовать то, что прилетело в ответ. Как только вы начинаете переносить бизнес-логику на клиент, вы открываете ящик Пандоры.

Поймите одну вещь: фронтенд — это публичное место. Это как если бы вы обсуждали детали секретной сделки на оживленной площади. Любой браузерный плагин, левый скрипт или просто пользователь с открытыми DevTools может влезть в код вашего приложения.

На клиенте нельзя доверять ничему.

Иногда велик соблазн посчитать скидку прямо в JavaScript — это же быстро, не нужно ждать ответа от сети. Но как только вы отправляете на бэкенд уже «готовый» результат, вы отдаете контроль над деньгами в руки пользователя. Любой, кто умеет нажать F12, может легким движением руки превратить свою скидку в 90% или вообще отправить отрицательную цену.

Инженерный подход в том, чтобы держать логику там, где она защищена — на бэкенде. Фронт только транслирует намерения пользователя («я хочу купить этот товар»), а бэкенд уже решает, сколько это стоит и есть ли у пользователя на это права.

Когда в конце месяца у бизнеса не сойдутся счета из-за того, что кто-то подкрутил параметры в запросе, разницу, скорее всего, придется закрывать вам. Поэтому не пытайтесь облегчить себе жизнь за счет безопасности системы. Разделяйте ответственность: бэкенд считает, фронтенд показывает.

Если что-то всё ещё звучит запутанно — пиши вопросы в комментах, я обязательно отвечу. А если всё разложилось по полочкам — ставь 🔥, так я пойму, что пост был полезен

10МДК
  • 🔥 5
  • ❤ 2
More from @ten_minutes_to_code
  1. May 28, 2026Первый сезон получился про путь “от пользователя к инженеру”. Именно эту картину мы весь с…
  2. May 28, 2026Когда я запускал этот канал, у меня была довольно простая идея: писать каждый день коротки…
  3. May 7, 2026Почему нормализация БД — это чистая логика, а не бюрократия На любом ongoing-проекте требо…
  4. May 3, 2026🤔 А где новые посты? Сори что вот так пропал без предупреждения, но я думал что справлюсь…
  5. Apr 29, 2026Почему HTTPS не спасет ваши секреты Замочек в адресной строке браузера — это мощное успоко…
  6. Apr 28, 2026Целостность данных против иллюзии атомарности Начинающий разработчик видит базу данных как…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →