Бэкенд (backend)
Направление веб-разработки, которое отвечает за все, что происходит с сервером, данными и общей логикой веб-сайта. Оно называется бэкендом, потому что происходящее на стороне «бэка» скрыто от глаз пользователя.
Например, при разработке интернет-магазина фронтенд-разработчик отвечает за то, как будет выглядеть корзина, что в ней будет выводиться, а бэкенд — за то, куда и как отправятся данные из заполненных полей.
Для объяснения, что такое фронтенд и бэкенд, часто проводят аналогию с рестораном.
Фронтенд (frontend) отвечает за интерьер, музыку, декор и красивые салфеточки на столах.
Бэкенд (backend) — это повара, официанты и администраторы, которые обеспечивают бесперебойную работу ресторана.
Популярные технологии для реализации бэкенда — PHP, MySQL, PostgreSQL, Python, Java, .NET.
Анита Арико
Автор, копирайтер, интернет-маркетолог. За 6 лет в сфере побывала по обе стороны баррикад — работала со сторон и подрядчиков, и заказчиков. Пишу об интернет-маркетинге на языке предпринимателей.
Кто такие backend-разработчики и когда они понадобятся вам
Современные технологии развиваются стремительно. Сегодня для создания крутого или хотя бы конкурентоспособного веб-приложения понадобится не один программист, а целая команда профессиональных разработчиков. Она обычно состоит из дизайнеров UI и UX, верстальщика, разработчиков фронтенда и бэкенда. В этой статье поговорим о последних, чья работа кажется незаметной, но на самом деле первостепенной в разработке.

Что такое backend
Бэкендом называют программно-аппаратную часть веб-приложения. Эта начинка находится на сервере и скрыта от посетителей. А то, что они видят на клиентской стороне — в браузерах на своих устройствах — это фронтенд.
Бэкенд всегда тесно связан с фронтендом. Если сравнить веб-приложение с автомобилем, то бэкенд — его внутренние механизмы, от радиатора до заднего моста, а фронтенд — это кузов и салон.
На каких языках пишется backend
Для каждого проекта подбирается подходящий язык программирования, на котором будет писаться исходный код. При разработке веб-приложений чаще всего используются такие языки программирования:
Бэкенд-разработчик не обязан владеть всеми этими языками программирования. Однако талантливый специалист способен быстро изучить новый язык, а затем легко решать поставленные задачи, где тот необходим.
В бэкенде почти всегда используются базы данных, а они пишутся на языке структурированных запросов SQL. Владение им помогает работать с любой реляционной СУБД, например:
- MariaDB;
- Microsoft SQL Server;
- MySQL;
- Oracle RDBMS;
- PostgreSQL.

Что делают backend-разработчики
Бэкенд-разработчики прорабатывают бизнес-логику, проектируют архитектуру будущего веб-приложения, создают основные функции, внедряют API и библиотеки. Они также могут отвечать за программное обеспечение серверной части, её администрирование, безопасность систем, но обычно этим занимается девопс.
В прямые обязанности бэкенд-разработчиков также входит работа с базами данных. Использование СУБД позволяет не просто хранить, а оперативно обрабатывать большие объёмы данных о пользователях веб-приложения, с товарами и корзинами покупателей, с отзывами и комментариями.
Кроме этого бэкенд-разработчики занимаются оптимизацией и интеграцией систем, а также последующим сопровождением веб-приложения и выпуском новых версий. Они также могут тестировать разные версии или отдельные функции, но лучше привлекать для этого отдельных тестировщиков со свежим взглядом со стороны.
Какими навыками владеют backend-разработчики
Типичный специалист по бэкенду хорошо владеет английским языком. Благодаря этому знанию становится доступным множество литературы по программированию, справочников и инструкций, ведь почти все они написаны на английском. А если разработчик задействован в зарубежных или международных проектах, то без уверенного английского он вряд ли впишется в рабочий процесс.
Ещё у профессионального бэкенд-разработчика можно выделить такие личные качества, как аналитический склад ума и структурное мышление. Дополнительным преимуществом послужит хорошо развитое воображение, внимательность к деталям, умение работать в команде.

Какой backend-разработчик вам подойдёт
Подобрать талантливого бэкенд-разработчика непросто. Если он нужен на удалённую работу, то можете поискать среди фрилансеров, либо прибегнуть к аутсорсингу готовой команды разработчиков, в которую обязательно входят бэкендеры. Ну а если нужен штатный бэкендер в офис, то можете задействовать свой отдел кадров или кадровое агентство. Какой вариант лучше — однозначно сказать сложно, поэтому рассмотрите преимущества и недостатки всех вариантов.
Фрилансеры
Выбрав наём фрилансера, вы доверите работу человеку, который будет отвечать только за конкретные задачи, но не за проект в целом. Учтите, что фрилансер часто сотрудничает одновременно с разными работодателями, следовательно, работает сразу над несколькими проектами. В этом случае неизвестно, будет ли ваш проект иметь для него одинаковый приоритет.
Несмотря на этот недостаток, работодатели регулярно нанимают бэкендеров на фриланс. Всё-таки этот вариант привлекает экономией на разработке, если сравнивать их с членами профессиональной команды или штатными сотрудниками.
Удалённая команда на аутсорсе
Выбрав аутсорсинг разработки бэкенда слаженной команде, вы будете получать полные отчёты и сопроводительные документы с печатями. В этом случае вам разработают веб-приложение качественно и с гарантией. А руководить командой будет тимлид, что избавит вас от составления, назначения и проверки задач.
Однако этот способ сотрудничества предполагает, что стоимость часа работы командного бэкендера обойдётся примерно вдвое выше, чем у фрилансера-одиночки. Средний по рынку тариф — 3500 рублей, 45 евро или 50 долларов США.
Штатные разработчики
Выбрав наём работника в штат, вы тоже получите качественный бэкенд, только контролировать работу будете сами или ваши менеджеры. Штатный сотрудник будет всегда рядом, так что вы сможете загружать его любыми задачами в течение рабочего времени.
Этот способ найма самый затратный, так как вам придётся регулярно перечислять зарплату, налоги, страховку, соцпакет. А если вдруг нанятый работник не оправдает надежд, то с ним не получится расстаться сразу — трудовой кодекс не позволит.
Не можете решить, кто именно подходит вашему веб-проекту? Попробуйте все варианты по очереди. Начните с поиска бэкендера на биржах фриланса или ИТ-услуг. Затем напишите нам, мы предоставим команду разработчиков или выделим специалистов на конкретные задачи.
Чем различается фронтенд- и бэкенд-разработка
Рассказываем, что такое фронтенд и бэкенд, чем они различаются и как взаимодействуют между собой. Разбираемся и выбираем подходящее направление.


Иллюстрация: Merry Mary для Skillbox Media

Олеся Мельник
Пишет про дизайн и маркетинг в Skillbox Media. С 2011 по 2017 год писала про бизнес в деловые СМИ, соучредитель агентства копирайтинга «Абзац».

Артём Садиков
Разработчик в компании VVDEV. Пишет на JavaScript и Golang.
Фронтенд и бэкенд — это как сцена и закулисье веб-приложения. Фронтендеры разрабатывают интерфейсы, изучая и учитывая пользовательский опыт (UX), а бэкенд-программисты — создают «внутрянку» сервиса, которая работает без участия пользователя.
Рассмотрим подробнее, чем занимаются специалисты по обе стороны «веб-сцены».
Что такое фронтенд‑разработка
Фронтенд-разработка — это создание пользовательского интерфейса на клиентской стороне веб‑сайта или приложения. Это всё, что видит пользователь, когда открывает веб-страницу, и с чем он взаимодействует: кнопки, баннеры и анимация. Фронтенд связан с бизнес-логикой продукта (клиентская часть постоянно «общается» с серверной), но её разработкой занимаются бэкенд-программисты.
В процессе работы фронтендер взаимодействует с дизайнерами, бэкенд-разработчиками и UX-аналитиками.
Чтобы понять, что собой представляет фронтенд, откройте страницу любого сайта — вы увидите интерфейс. Щёлкните правой кнопкой мыши по странице, выберите пункт «Исходный код страницы», и перед вами откроется… её исходный код 🙂

Это и есть пример работы фронтенд‑разработчика. Браузер запускает код, который описывает цвета, вёрстку, шрифты и расположение графических элементов, а мы видим такую красоту.
Компоненты фронтенд‑разработки
Фронтенд сайта или веб-приложения можно разделить на три большие части:
- HTML (HyperText Markup Language) — язык разметки документов, на котором создают структуру страницы: заголовки, абзацы, списки и так далее.
- CSS (Cascading Style Sheets) — язык для описания и стилизации внешнего вида документа. Благодаря CSS-коду браузер понимает, как именно отображать элементы. Например, CSS задаёт цвета и параметры шрифтов, определяет, как будут располагаться разные блоки сайта. Ещё он позволяет воспроизводить документ в разных видах: для печати (обычной или шрифтом Брайля), вывода на экран или для чтения скринридером .
- JavaScript — это язык, который оживляет веб-страницы. Его задача — реагировать на действия пользователя, обрабатывать клики мышки, перемещения курсора, нажатия клавиш. Ещё он посылает запросы на сервер и загружает данные без перезагрузки страницы, позволяет вводить сообщения и многое другое.
Что такое бэкенд‑разработка
Бэкенд — это разработка бизнес-логики продукта (сайта или веб-приложения).
Бэкенд отвечает за взаимодействие пользователя с внутренними данными, которые потом отображает фронтенд. Попросту говоря, это то, что скрыто от глаз пользователя и происходит вне его браузера и компьютера.
Пример
Когда водитель садится в салон автомобиля, он видит перед собой «пользовательский интерфейс»: панель управления, руль, педали газа и тормоза. При нажатии на педаль газа машина начинает двигаться вперёд. Так вот, фронтенд — это те самые педали: водитель знает, что будет, когда он на них нажмёт. А бэкенд — это внутренние процессы, которые происходят в автомобиле после нажатия на педаль. Пользователь не видит, как заводится двигатель, и не знает, как он устроен.
Теперь посмотрим, как работает бэкенд сайта.
Когда вы вводите запрос на странице поисковика и жмёте клавишу Enter, вы переходите из области фронтенда в бэкенд. Запрос отправляется на сервер Google или «Яндекса», на котором расположены сложные алгоритмы поиска, — там и происходит всё «волшебство». Как только на мониторе появилась информация, которую вы искали, — вы возвращаетесь в область фронтенда.
По большому счёту, сервер — это тот же компьютер, только удалённый и более мощный. Он хранит данные и отвечает на запросы пользователей.
Компоненты бэкенд‑разработки
Бэкенд-разработчик применяет инструменты, которые доступны на его сервере. Он вправе выбрать любой из универсальных языков программирования — например, Ruby, PHP, Python или Java. Всё зависит от конкретного проекта и задачи заказчика.
Также для бэкенд-разработки используются системы управления базами данных:
Также используются инструменты загрузки (деплоя):
Бэкенд — это не только написание кода, но и создание архитектуры приложения. Архитектура в разработке определяет структуру и порядок использования баз данных. Важно, чтобы база данных корректно взаимодействовала с кодом приложения и непрерывно доставлялась на сервер — за это отвечает бэкенд-разработчик.
В зависимости от продукта обязанности бэкенд-разработчика могут различаться. На одних проектах он создаёт и интегрирует базы данных, на других обеспечивает безопасность или настраивает технологии резервного копирования и восстановления.
Как взаимодействуют фронтенд и бэкенд
Взаимодействие фронтенда и бэкенда происходит по кругу:
- клиентская часть приложения (фронтенд) отправляет пользовательскую информацию на сервер (бэкенд);
- программа на сервере обрабатывает информацию;
- информация возвращается клиентской стороне в понятной для пользователя форме.
Несмотря на то что бэкендом и фронтендом занимаются разные специалисты, каждому из них желательно понимать принципы, по которым работают коллеги. Даже дизайнеру интерфейсов полезно хотя бы в общих чертах знать, как устроен бэкенд проекта, которым он занимается. Это поможет адекватно оценить технические возможности сайта или приложения.
Существует несколько вариантов взаимодействия фронтенда и бэкенда:
- HTTP-запрос напрямую отправляется на сервер, сервер ищет информацию, встраивает её в шаблон и возвращает в виде HTML-страницы.
- Вариант с использованием AJAX (Asynchronous JavaScript and XML). В этом случае запрос отправляет JavaScript, загруженный в браузер, а ответ приходит в формате XML или JSON.
- Одностраничные приложения загружают данные без обновления страницы. Это тоже делается с помощью AJAX или фреймворков Angular и Ember.
- Библиотека React помогает использовать приложение и на сервере, и на клиентской части. Веб-сайт превращается в полноценное приложение, которое получает необходимую для пользователя информацию без обновления страниц.
Пример
Когда вы вводите текст в «Google Документах», то сразу же получаете обратную связь от сервера: программа подсвечивает синтаксические ошибки и предлагает исправления. При этом перезагружать страницу не нужно. Фронтенд и бэкенд взаимодействуют через AJAX и HTML-код, который обрабатывается на сервере.
Обязанности фронтенд- и бэкенд-разработчиков, как правило, разделены, но иногда программист решает проблемы как на стороне сервера, так и в клиентской части. Таких специалистов называют фулстек-разработчиками.
Программисты, которые уверенно чувствуют себя как во фронтенде, так и в бэкенде, нередко встречаются на рынке. Чаще всего это разработчики уровня Senior, прошедшие сложный путь в одной из областей — фронтенде или бэкенде — и имеющие опыт в другой.
Технология, которая преобразует текст на экране в речь и позволяет слепым и слабовидящим людям взаимодействовать с контентом.
Backend
Backend (бэкенд) — создание скриптов для сервера, на котором размещается веб-приложение (сайт). Бэкенд-разработка подразумевает создание скриптов для сервера, на котором размещается сайт, внутреннего наполнения системы веб-ресурса, работу с серверными технологиями (проектирование и разработка программной логики, взаимодействие с базами данных (БД), работа с архитектурой и т. д.).
Разработка сайтов для бизнеса
Каждый специалист, работающий в backend, должен знать следующие языки программирования:
Бэкенд-разработчики обычно хорошо разбираются в Node JS платформах, должны быть знакомыми с библиотеками взаимодействия сервера и Node JS платформы (Express), разбираться в MongoDB — БД для получения и хранения информации от веб-приложения. Дополнительно от backend-разработчиков требуется понимание работы фреймворков: Kohana, Codeigniter, Symfony, Zend Framework, Yii и т. д.
Backend-разработчики работают «плечо к плечу» с frontend-разработчиками, чтобы реализовать полноценную логику веб-приложения со стороны сервера и ее взаимодействие со всеми элементами сайта, которые доступны пользователю. Чтобы успешно реализовать такую задачу, backend-разработчики используют языки скриптов по типу PHP и Ruby.
Кроме работы над серверной логикой backend-разработчики должны еще и оптимизировать веб-приложения, делая их максимально быстрыми и эффективными в плане работы. Также эти специалисты часто работают над задачами организации хранилищ в базах данных (БД), а особенно, если у веб-ресурса имеются большие объемы определенной информации. Так как БД — главное звено в цепочке всех частей веб-приложения (в ней хранится информация о посетителях, публикациях, комментариях и т. д.).
Обязанности backend-разработчиков
Кроме всего вышеописанного backend-разработчики должны уметь грамотно взаимодействовать с другими специалистами, которые работают над проектом: экспертами в сфере UI, UX-дизайнерами и т. д.
В плане программирования в обязанности backend-разработчика входит:
- создание бэкэнд-системы для поддержки веб-ресурса и бизнес-логики проекта;
- создание единой библиотеки элементов для программистов и дизайнеров;
- проектирование и дальнейшая поддержка инфраструктуры на базе SourceJS;
- создание API веб-ресурса для его взаимодействия с другими платформами;
- адаптация веб-проекта под разные платформы при помощи CSS3 и HTML5;
- разработка интерфейсов пользователей.
«Идеальный» backend-разработчик должен обладать такими качествами как структурный тип мышления, внимательность к мелочам, аналитический склад ума, хорошо развитое воображение и умение развиваться в плане своих технических способностей.