Admin Off Опубликовано 24 ноября, 2023 Поделиться Опубликовано 24 ноября, 2023 Фронтенд или бэкенд: по какому пути в разработке пойти В вакансиях часто встречаются запросы конкретно на фронтенд- или бэкенд-разработчика, так как эти слои пишут по разным принципам и часто на разных языках программирования. Попробуем разобраться, в чем разница между frontend- backend-разработкой и как они взаимодействуют друг с другом. Что такое фронтенд и бэкенд У большинства современных сайтов и сервисов есть два слоя: фронтенд для пользователей и бэкенд для технических действий. С фронтендом взаимодействуют обычные клиенты, а бэкенд находится под капотом и обрабатывает запросы от фронтенда. Фронтенд (англ. frontend) — это разработка пользовательских функций и интерфейса. К ним относится всё, что пользователи видят на сайте или в приложении, и с чем можно взаимодействовать: картинки, выпадающие списки, меню, анимация, карточки товаров, кнопки, чекбоксы, интерактивные элементы. На любой странице в интернете виден результат работы фронтенд-разработчика. Визуальное отображение элементов, раскрывающиеся списки, правильно подобранные шрифты — всё это фронтенд Чтобы увидеть фронтенд-код сайта, достаточно щёлкнуть по странице правой кнопкой мыши и выбрать «Просмотреть код». Так выглядит отображение фронтенд-кода страницы в Яндекс Браузере Фронтенд-разработчики трудятся вместе с дизайнерами и верстальщиками над созданием продукта, с которым пользователю будет удобно взаимодействовать. Бэкенд (англ. backend) — это логика работы сайта, скрытая от пользователя. Именно там происходит то, что можно назвать работой сайта. Чтобы понять, в чём разница между backend и frontend, возьмём пример: ● Визуальное отображение карточки товара и кнопка «заказать» — это фронтенд. ● Обновление цены и остатков товара на складе, добавление товара в корзину при нажатии кнопки, функция сравнения двух товаров — это бэкенд. ● Результат, который видит пользователь: цена и остатки товара, товар в корзине, сравнение — это снова фронтенд. Код бэкенда увидеть невозможно — он не отправляется пользователю напрямую в смартфон или браузер, а работает на сервере, на котором хранится приложение или сайт. Сервер — это специальный мощный компьютер, который подключён к интернету и служит для хранения данных, работы кода и его отправки в браузер. Чаще всего термины фронтенд и бэкенд используют, когда говорят о веб-разработке: создании сайтов, мобильных приложений и сервисов. При создании программ для ПК или сложных инструментов для аналитики, финансовых технологий или машинного обучения «фронтенд» не нужен и остаётся только «бэкенд» — но его так не называют, потому что он немного отличается от бэкенда в веб-разработке. Какие языки используют фронтенд- и бэкенд-разработчики Фронтенд-разработка — это практически всегда связка из HTML, CSS и JavaScript. HTML и CSS — это не языки программирования, а языки разметки. Они «рассказывают» браузеру, как именно должна выглядеть страница: где расположены блоки, какого они цвета, какого размера шрифт и картинки. От языков программирования HTML и CSS отличаются тем, что в них нет никаких функций, подсчётов, сравнений и других действий — они статично описывают внешний вид страницы. JavaScript — язык программирования. Он содержит функции и методы, которые позволяют получать информацию от сервера, отправлять её назад и выводить для пользователя, создавать интерактивные элементы, например кнопки и формы. В отличие от фронтенда, бэкенд использует гораздо больше языков программирования. Он может быть написан на любом языке. Сейчас наиболее востребованы Python, Java, Go, всё ещё популярен PHP. Иногда бэкенд пишут на C# и Ruby. JavaScript тоже подходит для бэкенда — его часто выбирают для изучения те, кто перешёл из фронтенда. А если вы пока не определилсь с направлением программирования, пройдите наш бесплатный курс, на котором познакомитесь с разными профессиями, разберётесь с необходимыми навыками и узнаете об особенностях работы. Взаимодействие фронтенда и бэкенда Разработка фронтенд и бэкенд неотделимы друг от друга. Обычно они связаны по такой схеме: Пользователь что-то делает во фронтенде. Например, нажимает кнопку. Фронтенд отправляет информацию об этом действии в бэкенд. Бэкенд обрабатывает информацию. Например, если пользователь нажал кнопку «Заказать», формирует для него корзину и подсчитывает цену с доставкой. Бэкенд возвращает информацию назад фронтенду. Фронтенд «рисует» для пользователя понятную «картинку» — страницу корзины со стоимостью товара и доставки. Без бэкенда фронтенд не сможет работать — пользователь нажмёт на кнопку, но ничего не произойдёт. Поэтому фронтенд- и бэкенд-разработчики всегда трудятся вместе. Различия фронтенда и бэкенда Главная разница между 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-разработчик». Выучите один из самых популярных для бэкенда языков и разрабатывайте логику сайтов и веб-приложений. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.