Перейти к содержанию

Frontend и Backend-разработка: что это, в чем разница - что выбрать, бэкэнд или фронтэнд


Рекомендуемые сообщения

Фронтенд или бэкенд: по какому пути в разработке пойти

Screenshot_11.png.791b0b583ded1e51c228008e3fda1929.png

В вакансиях часто встречаются запросы конкретно на фронтенд- или бэкенд-разработчика, так как эти слои пишут по разным принципам и часто на разных языках программирования. Попробуем разобраться, в чем разница между frontend- backend-разработкой и как они взаимодействуют друг с другом.

Что такое фронтенд и бэкенд

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

Фронтенд (англ. frontend) — это разработка пользовательских функций и интерфейса. К ним относится всё, что пользователи видят на сайте или в приложении, и с чем можно взаимодействовать: картинки, выпадающие списки, меню, анимация, карточки товаров, кнопки, чекбоксы, интерактивные элементы. На любой странице в интернете виден результат работы фронтенд-разработчика.

Screenshot_12.png.1ab74e9f53b364a0478a213340ff5615.png

Визуальное отображение элементов, раскрывающиеся списки, правильно подобранные шрифты — всё это фронтенд

Чтобы увидеть фронтенд-код сайта, достаточно щёлкнуть по странице правой кнопкой мыши и выбрать «Просмотреть код».

Screenshot_13.png.6265c29b3aa228a64bc2c45d37638052.png

Так выглядит отображение фронтенд-кода страницы в Яндекс Браузере

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

Бэкенд (англ. backend) — это логика работы сайта, скрытая от пользователя. Именно там происходит то, что можно назвать работой сайта.

Чтобы понять, в чём разница между backend и frontend, возьмём пример:

● Визуальное отображение карточки товара и кнопка «заказать» — это фронтенд.

● Обновление цены и остатков товара на складе, добавление товара в корзину при нажатии кнопки, функция сравнения двух товаров — это бэкенд.

● Результат, который видит пользователь: цена и остатки товара, товар в корзине, сравнение — это снова фронтенд.

Код бэкенда увидеть невозможно — он не отправляется пользователю напрямую в смартфон или браузер, а работает на сервере, на котором хранится приложение или сайт. Сервер — это специальный мощный компьютер, который подключён к интернету и служит для хранения данных, работы кода и его отправки в браузер.

Чаще всего термины фронтенд и бэкенд используют, когда говорят о веб-разработке: создании сайтов, мобильных приложений и сервисов. При создании программ для ПК или сложных инструментов для аналитики, финансовых технологий или машинного обучения «фронтенд» не нужен и остаётся только «бэкенд» — но его так не называют, потому что он немного отличается от бэкенда в веб-разработке.

Какие языки используют фронтенд- и бэкенд-разработчики

Фронтенд-разработка — это практически всегда связка из HTML, CSS и JavaScript.

HTML и CSS — это не языки программирования, а языки разметки. Они «рассказывают» браузеру, как именно должна выглядеть страница: где расположены блоки, какого они цвета, какого размера шрифт и картинки. От языков программирования HTML и CSS отличаются тем, что в них нет никаких функций, подсчётов, сравнений и других действий — они статично описывают внешний вид страницы.

JavaScript — язык программирования. Он содержит функции и методы, которые позволяют получать информацию от сервера, отправлять её назад и выводить для пользователя, создавать интерактивные элементы, например кнопки и формы.

В отличие от фронтенда, бэкенд использует гораздо больше языков программирования. Он может быть написан на любом языке. Сейчас наиболее востребованы Python, Java, Go, всё ещё популярен PHP. Иногда бэкенд пишут на C# и Ruby. JavaScript тоже подходит для бэкенда — его часто выбирают для изучения те, кто перешёл из фронтенда.

А если вы пока не определилсь с направлением программирования, пройдите наш бесплатный курс, на котором познакомитесь с разными профессиями, разберётесь с необходимыми навыками и узнаете об особенностях работы.

Взаимодействие фронтенда и бэкенда

Разработка фронтенд и бэкенд неотделимы друг от друга. Обычно они связаны по такой схеме:

Пользователь что-то делает во фронтенде. Например, нажимает кнопку.

Фронтенд отправляет информацию об этом действии в бэкенд.

Бэкенд обрабатывает информацию. Например, если пользователь нажал кнопку «Заказать», формирует для него корзину и подсчитывает цену с доставкой.

Бэкенд возвращает информацию назад фронтенду.

Фронтенд «рисует» для пользователя понятную «картинку» — страницу корзины со стоимостью товара и доставки.

Screenshot_14.png.80b6022ff0b881d47c4abed4960233f7.png

Без бэкенда фронтенд не сможет работать — пользователь нажмёт на кнопку, но ничего не произойдёт. Поэтому фронтенд- и бэкенд-разработчики всегда трудятся вместе.

Различия фронтенда и бэкенда

Главная разница между frontend и backend в том, что первый работает на пользователя, на мощности его компьютера или смартфона, а второй — на сервере, и пользователю отправляет только результат работы. Но есть и другие отличия:

Стек разработки фронтенда

Frontend – это клиентская часть приложения. Он включает в себя такие языки программирования, как:

HTML – скелет страницы, ее форма

CSS – дизайнерское наполнение, законченный вид

JavaScript – функциональность и интерактивность

Для первых двух разработчики также используют фреймворки, такие как Bootstrap. Для JavaScript их существует множество, включая Vue.js, Angular.js и React.js. Вы можете посмотреть лучшие примеры сайтов на React, чтобы получить представление о том, как фреймворк может проявляться в проектах.

jQuery – еще один очень полезный фреймворк, который помогает объединить HTML и JavaScript в одном проекте.

Стек разработки Backend

Бэкенд – это стек технологий веб-сервера. Пользователи его не видят, но без него приложение не будет работать должным образом. Он отвечает за выполнение запросов, хранение данных и т.д.

В состав компонентов входят:

Языки программирования – Python, Java, PHP, C#, C++, NodeJS.

Серверы – NGINX, Apache HTTP Server, IIS.

Базы данных – MySQL, PostgreSQL, SQLite, MongoDB, Microsoft SQL Server.

Облачные вычисления – IaaS (инфраструктура как сервис), PaaS (платформа как сервис), BaaS (бэкенд как сервис).

Итак, какие языки программирования и фреймворки можно использовать в составе стека веб-приложений? Вы должны знать это, потому что, когда вы нанимаете веб-разработчиков, они должны обладать навыками и опытом работы с необходимыми технологиями.

Фронтенд

● Взаимодействует непосредственно с конечным пользователем.

● Единообразен. Практически все фронтенд-разработчики работают на связке технологий HTML+CSS+JavaScript.

● Изменчив. Языки, функции и инструменты для работы часто меняются. Нужно постоянно учиться и следить за трендами.

● Низкий порог входа. Изучить необходимое для начала работы довольно просто.

● Фронтенд-разработчики более тесно контактируют с дизайнерами, маркетологами, менеджерами продукта.

Бэкенд

● Обеспечивает логические функции, нужные для работы сайта и приложения.

● Многообразен. Можно писать практически на любом языке программирования. Открывает доступ к сложным технологиям вроде машинного обучения и анализа данных.

● Стабилен. Радикальные изменения происходят редко, можно годами работать по привычной схеме.

● Высокий порог входа. Чтобы начать работать, нужно освоить больше информации, разобраться в математике, базах данных, алгоритмах.

● Бэкенд-разработчики больше взаимодействуют с аналитиками, продакт-менеджерами и фронтендерами.

Что выбрать — фронтенд или бэкенд

Фронтенд-разработка — для тех, кто:

● Готов много коммуницировать по продукту с теми, кто не занимается программированием.

● Хочет видеть результаты своей работы в виде конкретного интерфейса.

● Готов постоянно и много обновлять знания.

Бэкенд-разработка — для тех, кто:

● Предпочитает более «техническое» и математически сложное программирование, готов разбираться в алгоритмах.

● Хочет меньше общаться с дизайнерами, маркетологами и другими нетехническими специалистами.

● Готов к тому, что результат работы не будет виден.

● Хочет иметь больше выбора между разными языками программирования, технологиями и сферами деятельности.

● Хочет работать с более стабильными технологиями, которые не меняются по несколько раз в год.

А ещё можно не выбирать — существуют так называемые фулстек-разработчики, которые работают с фронтедом и бэкендом одновременно. Это требует изучить больше информации, зато позволяет полностью самостоятельно писать как клиентскую, так и серверную часть приложения. Часто фулстеками становятся новички, которые пока не определились — так они могут в общих чертах посмотреть на работу со всех сторон, а потом углубиться и стать профессионалом в конкретной области.

Тем, кто решил выбрать бэкенд, освоить его поможет курс Практикума «Python-разработчик». Выучите один из самых популярных для бэкенда языков и разрабатывайте логику сайтов и веб-приложений.

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...