Фронтенд (UI), бэкенд (логика), база данных — обзор ролей

Фронтенд, бэкенд, база данных — обзор ролей

Введение

Когда разработчик говорит "это баг бэкенда" или "проблема в базе", тебе нужно понимать, о чём речь. В этом уроке разберёмся, что делает каждый из трёх слоёв веб-приложения и как они связаны между собой.


Фронтенд (Frontend)

Фронтенд — это то, что видит и с чем взаимодействует пользователь прямо в браузере.

Технологии: HTML, CSS, JavaScript. Современные фронтенд-приложения чаще всего написаны на фреймворках: React, Vue, Angular.

Что делает фронтенд:

  • Отрисовывает страницы и компоненты (кнопки, формы, таблицы)
  • Реагирует на действия пользователя
  • Отправляет запросы к бэкенду через API
  • Отображает полученные данные

Где выполняется: в браузере пользователя, на его устройстве.

Пример: Когда ты видишь список товаров в интернет-магазине — это фронтенд отрисовал HTML на основе данных, которые получил от бэкенда.


Бэкенд (Backend)

Бэкенд — это серверная часть, "мозг" приложения. Пользователь его не видит, но именно здесь происходит вся важная работа.

Технологии: Node.js, Python (Django/FastAPI), Java (Spring), Go, Ruby on Rails и многие другие.

Что делает бэкенд:

  • Принимает запросы от фронтенда
  • Проверяет, кто делает запрос (аутентификация)
  • Проверяет, имеет ли он право (авторизация)
  • Выполняет бизнес-логику (считает скидки, формирует заказы, отправляет письма)
  • Обращается к базе данных за данными или для их сохранения
  • Возвращает ответ фронтенду

Где выполняется: на сервере в дата-центре (или облаке).


База данных (Database)

База данных — это место постоянного хранения данных. Когда сервер перезагружается, данные в базе сохраняются.

Типы баз данных:

  • Реляционные (SQL): PostgreSQL, MySQL, SQLite — данные в таблицах, строгая структура
  • Документные (NoSQL): MongoDB — данные в виде JSON-документов
  • Ключ-значение: Redis — сверхбыстрое хранилище для кешей и сессий

Что хранится в базе: пользователи, заказы, товары, статьи, комментарии — всё, что должно переживать перезапуск сервера.


Как они общаются

Стек Frontend → Backend → Database: что передаётся между слоями

Пользователь
    ↕
[ Фронтенд ]  — React-приложение в браузере
    ↕  (HTTP/API запросы)
[ Бэкенд ]   — Node.js / Python сервер
    ↕  (SQL / ORM запросы)
[ База данных ] — PostgreSQL

Каждая стрелка — это чёткий интерфейс:

  • Фронтенд ↔ Бэкенд: API (обычно REST или GraphQL)
  • Бэкенд ↔ База: SQL запросы или ORM (например, Prisma, SQLAlchemy)

Взгляд тестировщика: баги по слоям

Знание слоёв помогает изолировать дефекты:

СимптомВероятный слой
Кнопка не активна, хотя должна бытьФронтенд
Данные отображаются неверно (но API вернул правильно)Фронтенд
API вернул неверные данныеБэкенд
Данные не сохраняются между сессиямиБэкенд или база данных
Очень медленные запросы к большим спискамБэкенд (логика) или база данных (индексы)
После перезапуска сервера данные исчезлиБэкенд сохранял в памяти, а не в базу

Практический пример

Сценарий: Пользователь регистрируется, но потом не может войти.

Что проверить:

  1. Фронтенд: правильно ли форма отправляет данные? Нет ли ошибок в консоли?
  2. Бэкенд: вернул ли API успешный ответ при регистрации? Какой статус-код?
  3. База данных: создалась ли запись пользователя? (спросить разработчика или проверить через API)

Что мы запомним

  • Фронтенд = то, что видит пользователь; работает в браузере
  • Бэкенд = серверная логика, обрабатывает запросы и данные
  • База данных = постоянное хранилище данных
  • Все три слоя общаются через чёткие интерфейсы: API и SQL
  • Понимание слоёв помогает быстро локализовать дефект при написании баг-репорта

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике