Найти тему

В чем разница Frontend и Backend?

Оглавление
Изображение с castcom.ru
Изображение с castcom.ru

Новички, который только начали заниматься веб-программированием, часто путают область Frontend и Backend разработки. Да и часто заказчики на фрилансе плохо понимают, что можно отнести к Бэкенду, а что к Фронтенду. В этой статье я постарался максимально точно описать, что входит в обязаности Frontend и Backend разработчика.

Что говорит Википедия насчет этих двух понятий?

Фронтенд (англ. front-end) — клиентская сторона пользовательского интерфейса к программно-аппаратной части сервиса.
Бэкенд (англ. back-end) — программно-аппаратная часть сервиса. Бэкенд отвечает за осуществление функционирования внутренней части веб-сайта.

Как говорит Википедия, Фронтенд отвечает за UI и за все, что с ним связано. Бэкенд же в свою очередь отвечает за "внутренности" сайта (ПО). В реально разработке эти границы чуть размыты. Часто фронтендеры делают вещи из рода бэкендеров (например, подключение форм на сайте можно считать работой бэкендеров, но часто этим занимаются фронтед разработчики). Давайте подробнее разберем каждое направление.

Frontend разработка

Технологии, относящиеся к этой области: HTML, CSS, JavaScript, JavaScript Frameworks

Где работает код: Браузер

Основные понятия: UI/UX, Дизайн, Верстка, AJAX, запросы

Итак, как мы уже выяснили, фронтендер занимается пользовательским интерфейсом. Его главная задача - перевести условную "картинку" в живой и рабочий сайт. Для этого он может использовать чистый HTML/CSS + JS или заниматься разработкой с помощью фреймворков или библиотек (ReactJS, Bootstrap).

Фронтендер не в коем случае не лезет на сервер. Все данные, которые используются на сайте, приходят с помощью API, написанными бекенд разработчиками. Именно так и происходит общение сайта с сервером.

Backend разработка

Технологии, относящиеся к этой области: PHP, Java, Python, NodeJS, SQL, MySQL

Где работает код: Сервер

Основные понятия: База данных, Linux, Сервер

Backend разработка ограничивается сервером. Бэкендер не полезет менять форму отправки, он работает только с тем, что ему пришло, например, с помощью GET запроса. Для этого он пользуется языками программирования, которые выполняются только на сервере (поэтому часто приходится ставить локальный сервер для разработки на PHP)

Есть одно НО: PHP может использоваться как фронтендером, там и бэкендом. Только вот используют данные языки разработчики по-разному. Фронтендер будет встраивать PHP код в HTML, например для выдачи определенного результата, а вот бэкендер будет писать сервер: данные приходят, PHP что-то с ними делает, а потом отдает, и все это с помощью API (это самое главное, не забывайте!).

Ну и разумеется, бекендер настраивает базы данных, пишет сервер и т.п.

Давайте разберем маленький пример. Заказчику нужен сайт, который принимает заявки людей и заносит их в базу данных (не сайт, конечно, сервер, но в данном случае мы опустим этот факт). Фронтендер занимается версткой сайта и созданием той самой формы, которая отправит данные на сервер. Бекендер напишет сервер, который будет с помощью GET (или POST) запроса принимать и обрабатывать информацию. Дальше Фронт и Бэк могут обмениваться друг с другом инфой (если это потребуется).

Я постарался максимально точно рассказать об этих двух средах. Надеюсь, вы подпишитесь на мой канал и поставить этой статье лайк. Спасибо за прочтение, увидимся скоро!)