Фронтенд (англ. frontend) — это разработка пользовательских функций и интерфейса. К ним относится всё, что пользователи видят на сайте или в приложении, и с чем можно взаимодействовать: картинки, выпадающие списки, меню, анимация, карточки товаров, кнопки, чекбоксы, интерактивные элементы. На любой странице в интернете виден результат работы фронтенд-разработчика.
Бэкенд (англ. backend) — это логика работы сайта, скрытая от пользователя. Именно там происходит то, что можно назвать работой сайта.
Чтобы понять, в чём разница между backend и frontend, возьмём пример:
● Визуальное отображение карточки товара и кнопка «заказать» — это фронтенд.
● Обновление цены и остатков товара на складе, добавление товара в корзину при нажатии кнопки, функция сравнения двух товаров — это бэкенд.
● Результат, который видит пользователь: цена и остатки товара, товар в корзине, сравнение — это снова фронтенд.
Код бэкенда увидеть невозможно — он не отправляется пользователю напрямую в смартфон или браузер, а работает на сервере, на котором хранится приложение или сайт. Сервер — это специальный мощный компьютер, который подключён к интернету и служит для хранения данных, работы кода и его отправки в браузер.
Чаще всего термины фронтенд и бэкенд используют, когда говорят о веб-разработке: создании сайтов, мобильных приложений и сервисов. При создании программ для ПК или сложных инструментов для аналитики, финансовых технологий или машинного обучения «фронтенд» не нужен и остаётся только «бэкенд» — но его так не называют, потому что он немного отличается от бэкенда в веб-разработке.
HTML и CSS — это не языки программирования, а языки разметки. Они «рассказывают» браузеру, как именно должна выглядеть страница: где расположены блоки, какого они цвета, какого размера шрифт и картинки. От языков программирования HTML и CSS отличаются тем, что в них нет никаких функций, подсчётов, сравнений и других действий — они статично описывают внешний вид страницы.
JavaScript — язык программирования. Он содержит функции и методы, которые позволяют получать информацию от сервера, отправлять её назад и выводить для пользователя, создавать интерактивные элементы, например кнопки и формы.
В отличие от фронтенда, бэкенд использует гораздо больше языков программирования. Он может быть написан на любом языке. Сейчас наиболее востребованы Python, Java, Go, всё ещё популярен PHP. Иногда бэкенд пишут на C# и Ruby. JavaScript тоже подходит для бэкенда — его часто выбирают для изучения те, кто перешёл из фронтенда.
Разработка фронтенд и бэкенд неотделимы друг от друга. Обычно они связаны по такой схеме:
● Готов много коммуницировать по продукту с теми, кто не занимается программированием.
● Хочет видеть результаты своей работы в виде конкретного интерфейса.
● Готов постоянно и много обновлять знания.
Бэкенд-разработка — для тех, кто:
● Предпочитает более «техническое» и математически сложное программирование, готов разбираться в алгоритмах.
● Хочет меньше общаться с дизайнерами, маркетологами и другими нетехническими специалистами.
● Готов к тому, что результат работы не будет виден.
● Хочет иметь больше выбора между разными языками программирования, технологиями и сферами деятельности.
● Хочет работать с более стабильными технологиями, которые не меняются по несколько раз в год.
А ещё можно не выбирать — существуют так называемые фулстек-разработчики, которые работают с фронтедом и бэкендом одновременно. Это требует изучить больше информации, зато позволяет полностью самостоятельно писать как клиентскую, так и серверную часть приложения. Часто фулстеками становятся новички, которые пока не определились — так они могут в общих чертах посмотреть на работу со всех сторон, а потом углубиться и стать профессионалом в конкретной области.
Читать также: