РАЗДЕЛ 01Бэкенд: что это простыми словами
Бэкенд это всё, что происходит на сервере и не показывается пользователю. Когда человек заходит на сайт, он видит страницу, но не видит, что происходит за ней: сервер принимает запрос, ищет данные в базе, собирает ответ и отправляет обратно.
Простой пример. Человек заполняет форму заявки и нажимает отправить. Фронтенд показывает саму форму и кнопку. Дальше данные уходят на бэкенд: он проверяет, что телефон заполнен правильно, сохраняет заявку в базе, отправляет уведомление менеджеру и отвечает странице, что заявка принята. Всю эту цепочку делает бэкенд.
Слово пришло из английского backend, что буквально значит задняя часть. В русском закрепились два написания: бэкенд и бэкэнд. Оба встречаются, но чаще пишут бэкенд через е. Значение от написания не меняется.
РАЗДЕЛ 02Чем бэкенд отличается от фронтенда
Чтобы не путать две части, разложу их рядом.
Листайте вбок
| Часть | Что делает | Что видит пользователь |
|---|---|---|
| Фронтенд | кнопки, формы, картинки, анимация | да, это экран |
| Бэкенд | база данных, логика, обработка запросов | нет, это сервер |
Фронтенд отвечает за то, как сайт выглядит и как пользователь с ним взаимодействует. Бэкенд отвечает за то, что происходит после действия: куда сохранились данные, что вернулось в ответ, как посчиталась цена.
Обе части работают вместе через запросы. Фронтенд отправляет запрос на сервер, бэкенд его обрабатывает и возвращает данные, фронтенд показывает результат. Если одна из частей падает, сайт перестаёт работать целиком.
РАЗДЕЛ 03Что делает бэкенд-разработчик
Бэкенд-разработчик пишет серверную логику, которая делает сайт рабочим. Его задачи: обработка запросов, работа с базой данных, интеграции с платёжками и внешними сервисами, авторизация, расчёт цен и остатков.
Безопасность
Пароли, персональные данные, платежи всё это обрабатывается на сервере, и бэкенд-разработчик следит, чтобы данные не утекли и чтобы сайт не сломали извне. Ошибка здесь стоит дорого: утечка данных клиентов это штраф и потеря доверия.
Скорость
Медленный бэкенд делает сайт тормозным, и люди уходят, не дождавшись загрузки. Поэтому бэкенд-разработчик оптимизирует запросы и следит, чтобы сервер выдерживал нагрузку в пиковые часы.
РАЗДЕЛ 04Из чего состоит бэкенд
Бэкенд собирается из нескольких частей, которые работают как одно целое.
Первое, сервер. Это компьютер или облачная машина, на которой крутится ваш сайт и которая принимает запросы пользователей.
Второе, база данных. Это хранилище, где лежат заказы, пользователи, товары, цены. Без базы данные негде хранить.
Третье, серверное приложение. Это код, который обрабатывает запросы: принял запрос, сходил в базу, посчитал, вернул ответ.
Четвёртое, API. Это способ общения между фронтендом и бэкендом, а также между вашим сайтом и внешними сервисами вроде платёжек и служб доставки.
РАЗДЕЛ 05На чём пишут бэкенд
Бэкенд пишут на разных языках, и выбор зависит от задачи и от команды. Самые частые варианты: PHP, Python, JavaScript на Node.js, Go, Java. У каждого свои сильные стороны, но для бизнеса важнее не язык, а то, насколько легко потом поддерживать код.
PHP долго был стандартом для сайтов, на нём работают популярные CMS и магазины. Python удобен, когда в проект зашита работа с данными и автоматизация. Node.js позволяет писать фронтенд и бэкенд на одном языке, это ускоряет разработку. Go выбирают под высокую нагрузку.
Для заказчика главное, чтобы язык был распространённым и под него легко находились разработчики. Редкий язык это риск: код напишут, а поддерживать потом некому.
РАЗДЕЛ 06Когда бизнесу нужен свой бэкенд
Свой бэкенд нужен, когда готовых решений не хватает. Если сайту нужна нестандартная логика, сложный расчёт, интеграция с внутренней системой учёта или высокая нагрузка, готовый конструктор не справится, и пишут свой код.
Если же сайт это обычная витрина с каталогом и корзиной, свой бэкенд не нужен. Такую задачу закрывают конструктор или CMS, и это быстрее и дешевле.
Правило простое: начинайте с готового решения и пишите свой код только тогда, когда оно упёрлось в потолок. Своя разработка оправдана, когда она экономит деньги или открывает то, что готовые сервисы не умеют. Если ваш сайт продаёт товары и задача привести на него покупателей, это отдельная тема, я разбирал её в статье про рекламу товаров.
РАЗДЕЛ 07Бэкенд и готовые конструкторы
Конструктор вроде Тильды закрывает и фронтенд, и бэкенд сразу: вы собираете страницы, а хранение данных, формы, оплата работают из коробки. Своего бэкенда для простого сайта писать не нужно.
Минус конструктора в ограничениях. Если нужна логика, которой в конструкторе нет, приходится подключать сторонние сервисы или писать куски кода. В какой-то момент накопившиеся костыли делают конструктор дороже, чем своя разработка.
Поэтому выбор между конструктором и своим бэкендом это вопрос сложности задачи, а не вкуса. Простой сайт делают на конструкторе, сложный сервис пишут на своём коде. Разницу между системами управления сайтом и чистой разработкой я разбирал в статье про CMS, а подготовка проекта, разработка и запуск описаны в материале про разработку сайтов.
РАЗДЕЛ 08Бэкенд, скорость сайта и SEO
Бэкенд напрямую влияет на скорость загрузки сайта, а скорость влияет и на поведение посетителей, и на позиции в поиске.
Если сервер отвечает медленно, страница грузится секунды, человек не ждёт и уходит. Поисковая система видит эти уходы и делает вывод, что сайт неудобный, позиции падают. Медленный бэкенд бьёт дважды: теряете и посетителей, и трафик из поиска.
Поэтому скорость закладывают в бэкенд на этапе разработки, а не чинят потом. Быстрые запросы к базе, кэширование, отдача статики всё это решается на серверной стороне. Переделывать медленный бэкенд после запуска дороже, чем сделать нормально сразу.
Для бизнеса это значит: когда заказываете сайт, скорость это не прихоть, а требование к бэкенду. Проверяйте, как быстро грузятся страницы, до того как принять работу.
РАЗДЕЛ 09Сколько стоит разработка бэкенда
Стоимость бэкенда зависит от объёма логики, а не от числа страниц. Простая обработка формы стоит недорого, а личный кабинет с платежами, ролями, интеграциями это уже недели и месяцы работы.
Приведу условный пример расчёта, цифры условные. Небольшая задача вроде формы с сохранением в базу может занять несколько часов работы. Средний проект с каталогом, корзиной, оплатой это недели работы команды. Сложный сервис с личным кабинетом и интеграциями растягивается на месяцы.
Платите вы в итоге за часы специалистов. Чем больше логики, тем больше часов, тем выше цена. Точную смету считают по техническому заданию, а не на глаз.
К разовой разработке добавляются постоянные расходы: хостинг или облако, домен, поддержка и обновления. Хостинг для небольшого проекта стоит недорого, а вот поддержка с обновлениями это регулярная статья, про неё часто забывают при планировании бюджета.
Подробный разбор цены сайта есть в статье про стоимость разработки сайта.
РАЗДЕЛ 10Бэкенд и мобильные приложения
У мобильного приложения тоже есть бэкенд, и работает он так же, как у сайта. Приложение на телефоне это фронтенд, а хранение данных и логика живут на сервере.
Если у вас сайт и приложение, им обычно нужен общий бэкенд. Пользователь заказывает в приложении, заказ падает в ту же базу, что и заказы с сайта, и менеджер видит всё в одном месте. Такой общий бэкенд называют API, он позволяет не держать две разные логики.
Для бизнеса это значит, что бэкенд часто делают один раз, а фронтендов может быть несколько: сайт, приложение, личный кабинет. Планировать бэкенд стоит с учётом того, что на него потом лягут новые интерфейсы.
РАЗДЕЛ 11Как выбрать подрядчика на бэкенд
Подрядчика выбирают по трём вещам: техзадание, портфолио, понятная смета.
Техзадание пишут до договора. Если подрядчик готов начинать без техзадания, это сигнал, что в процессе будут сюрпризы и доплаты. Опишите, что должен делать сайт, какие интеграции нужны и что считается готовым результатом.
Портфолио смотрят по похожим проектам. Если подрядчик делал только визитки, а вам нужен сервис с оплатой, это разные уровни сложности.
Смета должна быть разбита по этапам, чтобы вы понимали, за что платите. Одна цифра без разбивки это повод задать вопросы.
РАЗДЕЛ 12Ошибки при заказе бэкенда
Первая ошибка, начинать без техзадания. Заказчик и подрядчик по-разному понимают задачу, и в конце выясняется, что половина нужного не сделана. Техзадание снимает эти споры.
Вторая, гнаться за самым дешёвым. Дёшево написанный бэкенд ломается, тормозит, обходится дороже в поддержке. Смотрите на опыт и на то, как подрядчик задаёт вопросы, а не только на цену.
Третья, не думать о поддержке. Бэкенд это не разовая покупка: его нужно обновлять, чинить, защищать. Сразу договаривайтесь, кто и за сколько будет это делать после запуска.
Четвёртая, экономить на безопасности. Данные клиентов и платежи требуют нормальной защиты. Дырявый бэкенд это утечка, штраф, потеря репутации.
РАЗДЕЛ 13Как проверить готовый бэкенд
Принимая работу у подрядчика, проверяйте бэкенд не глазами, а тестами и цифрами.
Первое, скорость. Прогоните страницы через сервис проверки скорости и посмотрите, за какое время грузится самая важная страница. Если загрузка занимает несколько секунд, это повод вернуть работу.
Второе, безопасность. Проверьте, что формы защищены, пароли не хранятся в открытом виде, а доступ к админке закрыт. Базовые проверки безопасности можно сделать самостоятельно.
Третье, нагрузка. Спросите, сколько одновременных пользователей выдержит сервер. Если подрядчик не может ответить на этот вопрос, значит нагрузку не тестировали.
Четвёртое, резервные копии. Убедитесь, что настроено резервное копирование базы и что её можно восстановить. Потеря базы это потеря всех заказов и клиентов.
РАЗДЕЛ 14FAQ
Что такое бэкенд простыми словами?
Это серверная часть сайта, которую пользователь не видит. Она хранит данные, обрабатывает запросы и отвечает на действия пользователя, а фронтенд показывает результат на экране.
Чем бэкенд отличается от фронтенда?
Фронтенд это то, что пользователь видит и с чем взаимодействует: кнопки, формы, картинки. Бэкенд это то, что происходит на сервере: хранение данных, логика, обработка запросов.
Что делает бэкенд-разработчик?
Пишет серверную логику, работает с базой данных, подключает платёжные системы и внешние сервисы, отвечает за безопасность и скорость сайта.
Бэкенд и бэкэнд, как правильно?
Оба написания встречаются, но чаще пишут бэкенд через е. Значение одинаковое, речь о серверной части сайта.
Нужен ли свой бэкенд для простого сайта?
Обычно нет. Простую витрину с каталогом и корзиной закрывают конструктор или CMS. Свой код пишут, когда нужна нестандартная логика или высокая нагрузка.
Сколько стоит разработка бэкенда?
Зависит от объёма логики. Простая форма стоит недорого, средний проект с оплатой это недели работы, сложный сервис с интеграциями растягивается на месяцы. Смету считают по техзаданию.
На чём пишут бэкенд?
На PHP, Python, JavaScript на Node.js, Go, Java. Для бизнеса важнее не язык, а распространённость, чтобы под него легко было найти разработчиков на поддержку.
РАЗДЕЛ 15С чего начать
- Опишите, что должен делать ваш сайт и какие интеграции нужны.
- Проверьте, закрывает ли задачу готовый конструктор или CMS.
- Если нужен свой код, напишите техзадание до поиска подрядчика.
- Сравните подрядчиков по портфолио и смете с разбивкой по этапам.
Пришлите, что должен делать сайт - скажу, нужен ли свой бэкенд и во сколько он обойдётся.