раздел 03

Fullstack и где что хостится

Когда понятно про две части, появляются два новых вопроса. Кто всё это делает и где всё это физически крутится. Разберём оба.

Что такое fullstack

Часто можно услышать слово fullstack (фуллстек). Дословно - «полный набор». Fullstack-разработчик - это тот, кто умеет и фронт, и бэк. Делает и красивый интерфейс, и логику на сервере.

Бывают и узкие специалисты: фронтенд-разработчик занимается только интерфейсом, бэкенд-разработчик - только сервером и данными. Это не лучше и не хуже - просто разное распределение работы.

Фронтенд-разработчик
Делает интерфейс: вёрстку, кнопки, поведение в браузере.
Бэкенд-разработчик
Делает сервер: логику, базу данных, безопасность.
Fullstack
Умеет и то, и другое. Может собрать приложение целиком.

Модель клиент-сервер

Главная схема, на которой всё держится, называется клиент-сервер.

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

1
Клиент просит
Браузер пользователя (фронт) отправляет запрос на сервер.
2
Сервер обрабатывает
Бэк принимает запрос, выполняет логику, при необходимости ходит в базу данных.
3
Сервер отвечает
Готовые данные уходят обратно клиенту, и фронт их показывает.

Клиент - устройство пользователя. Сервер - удалённый компьютер, который всегда на связи.

Где живёт фронтенд

Фронтенд - это, по сути, набор файлов: страницы, стили, картинки. Их называют статикой, потому что они не меняются от запроса к запросу. Такие файлы удобно раздавать через CDN - сеть серверов по всему миру, которая отдаёт файлы из ближайшей к пользователю точки. Поэтому сайты грузятся быстро.

Существуют специальные хостинги для статики и фронта - например, Vercel. Про деплой фронта есть отдельный курс.

Где живёт бэкенд и база данных

Бэкенд работает на сервере - это арендованный компьютер в дата-центре, который всегда включён. Туда устанавливают код бэкенда, и он принимает запросы.

Рядом с бэком обычно стоит база данных (БД) - место, где постоянно хранятся данные: пользователи, заказы, тексты. Бэк ходит в базу за информацией и записывает туда новое. База - отдельная программа, но живёт она в той же серверной зоне, рядом с бэком, чтобы общаться быстро.

Про серверы, хостинг и где всё это арендовать есть отдельный курс про серверы.