Frontend, backend, база данных, хостинг
Заглянем на один слой глубже, используя наш пример: пользователь нажимает «Сохранить профиль».
Frontend. Видимое приложение, работающее в веб-браузере или как мобильное приложение. Оно рисует форму, замечает нажатие и собирает то, что ввёл пользователь. По своей природе оно недоверенное: кто угодно может его открыть, изучить и изменить. Поэтому его задача — хорошо выглядеть и быстро откликаться, а не соблюдать что-то важное.
Backend. Когда кнопка нажата, frontend отправляет данные на backend — код, работающий на сервере. Backend проверяет, что пользователь вошёл в систему, проверяет данные («а это вообще адрес электронной почты?»), применяет бизнес-правила и только потом сохраняет. Именно здесь живёт доверие, потому что пользователи не могут это подделать.
База данных. Backend передаёт данные в базу данных на хранение. Это не волшебная коробка — думайте о ней как о наборе очень строгих таблиц (так и называемых таблицами), в которых можно мгновенно искать и которые никогда ничего не забывают. Завтра backend читает профиль обратно наружу, чтобы снова его показать.
Хостинг. В prod (продакшене) ничего из этого не работает на вашем ноутбуке. Оно работает на арендованных компьютерах у хостинг-провайдера, такого как Cloudflare, Vercel или какая-нибудь облачная платформа. Хостинг — это то, что делает ваше приложение доступным по настоящему веб-адресу, а не только на вашей собственной машине.
Полезный инстинкт: когда что-то ломается, спросите, в каком слое. «Кнопка ничего не делает» — это frontend. «Сохраняется не то» — обычно backend. «Забыло мои данные» — указывает на базу данных. Назвать слой — это половина починки бага, и половина написания промпта, по которому ИИ может действовать.