Простыми словами расскажем, чем бэкенд сайта отличается от фронтенда и какие есть подходы.
Бэкендом называют серверную часть сайта. Это код, который выполняется на сервере и обрабатывает запросы. Запросом, например, может быть адрес, введенный в браузере.
Выполняя запрос, браузер соединяется с сервером и передает ему набранный пользователем адрес. Бэкенд анализирует этот адрес, понимает, какая нужна информация, извлекает ее, формирует ответ и отправляет в браузер. Браузер показывает нам то, что пришло с сервера.
Интересный факт. Понять из браузера, какой язык на бэкенде, практически невозможно. Общение браузера и серверов устроено так, что язык бэкенда полностью скрыт и может быть любым. Чаще всего это Ruby, Python, JS, PHP, Java, C#.
Под фронтендом в первую очередь понимают внешний вид. За него отвечают HTML и CSS, технологии, с помощью которых создаются веб-страницы, на них добавляется красота.
Самое удивительное, что при классическом подходе фронтенд формируется на бэкенде. Что это значит? Это значит, что бэкенд отдает в браузер готовый HTML и CSS, который браузером просто отрисовывается. Этот подход был когда-то единственным и до сих пор используется в подавляющем большинстве проектов. Например, так устроен практически весь Хекслет, не считая тренажера, обсуждений и еще нескольких элементов.
То есть схема такая:
Происходит запрос из браузера —> Бэкенд выполняет нужную логику —> Бэкенд формирует готовую страницу, то есть HTML + CSS —> Бэкенд отправляет это в браузер —> Браузер отрисовывает страницу. Этот подход надежный и простой. Он всегда будет актуален для сайтов, где нет высокого уровни интерактивности.
Но существует и другой подход, который нужен в случае высоко интерактивных сайтов, где все выезжает и бибикает. Например — как на Airbnb, где идет работа с картой.
В таком случае фронтенд формируется на клиенте, то есть уже в браузере. Сервер отдает сырые данные, нужные для отрисовки страницы. Отрисовкой же занимается JavaScript-код, работающий во вкладке браузера пользователя.
Такой подход усложняет систему, но открывает доступ к практически неограниченным возможностям. Ярчайший пример — это чаты или тренажер Хекслета.
Начните знакомство с IT на бесплатных курсах Хекслета
На платформе много бесплатных курсов по программированию и другим темам, чтобы погрузиться в сферу и понять, куда двигаться дальше. Выбирайте, пробуйте и развивайтесь вместе с Хекслетом!