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

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

По моему совершенно непредвзятому мнению, бэкенд-разработка в целом — одно из лучших направлений карьерного роста для всех, кто хочет стать программистом. Вы можете работать с самыми крутыми языками, такими как Go, Python и Ruby. Вы узнаете о самых полезных бэкэнд-технологиях, таких как MongoDB и RabbitMQ.

И, хотя у него более крутая кривая обучения, чем, например, разработка интерфейса, он гораздо более удобен. (Если вы все еще считаете, что фронтенд лучше, обязательно ознакомьтесь с обличительной речью основателя Boot.dev Лейна на тему фронтенд против бэкенда.) И я еще даже не дошел до зарплаты бэкенд-разработчика. Что существенно.

Я хочу прояснить, что в этой статье я собираюсь немного сузить свое внимание. Я буду говорить конкретно о том, что такое серверная веб-разработка, в отличие от серверной разработки игр или серверной мобильной разработки.

Давайте перейдем к ответу на вопрос: «Что такое бэкэнд-веб-разработка?»

🔗 Чем занимается Backend Web Developer?

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

В повседневной жизни это разбивается на следующие задачи.

Разработка серверной логики

Это означает, что вы разрабатываете и реализуете бизнес-логику, обработку данных и поток приложений, которые обеспечивают работу веб-приложения.

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

Управление базами данных

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

Например, в веб-приложении для отрасли здравоохранения вы должны управлять записями пациентов, встречами и медицинскими данными, обеспечивая конфиденциальность и эффективный поиск информации для медицинских работников. Если вам интересно узнать больше о SQL и базах данных, ознакомьтесь с нашим Курсом изучения SQL здесь.

Безопасность и аутентификация

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

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

Разработка API

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

API-интерфейсы облегчают связь между интерфейсом и сервером, обеспечивая беспрепятственный обмен данными и взаимодействие. Разработка хорошо спроектированных и документированных API-интерфейсов имеет решающее значение для предоставления другим разработчикам возможности надстраивать приложение или интегрировать его с внешними службами.

Например, вы можете столкнуться с необходимостью создания RESTful API, который позволяет мобильным приложениям получать доступ и отображать данные в режиме реального времени из базы данных веб-приложения, повышая вовлеченность пользователей и удобство работы.

Сотрудничество

Как я уже упоминал, при разработке API вы будете сотрудничать с фронтенд-инженерами в разработке API, поскольку очень часто API будет мостом между их проектной работой и вашей логикой бэкенда. В более крупных организациях вам также следует рассчитывать на сотрудничество с разработчиками инфраструктуры DevOps при разработке и использовании архитектуры, а также всего, что находится в облаке. (В небольших организациях есть большая вероятность, что вы будете делать это самостоятельно.)

Все остальное

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

🔗 Backend технология веб-разработки

Теперь давайте углубимся в мельчайшие детали серверной веб-разработки. Какую технологию вы можете ожидать? С какими фреймворками вы должны быть знакомы?

🔗 Ключевые компоненты и технологии

Для серверной веб-разработки вам необходимо быть знакомым хотя бы с одним языком, таким как Python, Go, Ruby, Java и PHP, для реализации этой серверной логики. Базы данных, такие как базы данных MySQL, PostgreSQL или NoSQL, управляют хранением и поиском данных.

Мы рассмотрели лучшие языки программирования для серверной части и поговорили о лучших базах данных SQL, а также о базах данных без SQL, популярность которых набирает популярность, поскольку они лучше хранят неструктурированные данные, такие как тексты, фотографии. , видео и PDF-файлы. Вот краткое изложение:

🔗 Примеры популярных фреймворков для веб-разработки

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

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

Вот некоторые из лучших фреймворков для веб-разработки:

  • Django: веб-фреймворк Python высокого уровня, отличающийся надежностью, масштабируемостью и встроенными функциями для быстрой серверной разработки. Подробнее о Django для backend разработки читайте здесь.
  • Flask. Еще одна веб-инфраструктура Python, Flask, легкая и гибкая, идеально подходит для создания серверных приложений малого и среднего размера. (Вот наше сравнение Django vs Flask.)
  • FastAPI. Современная веб-инфраструктура Python, известная своей скоростью и простотой и хорошо подходящая для создания высокопроизводительных API. (Вот наше сравнение Django vs FastAPI.)
  • Ruby on Rails. Полнофункциональная платформа веб-приложений, написанная на Ruby, которая включает в себя серверные возможности и придерживается подхода, основанного на соглашениях, а не на настройке.
  • Express.js. Хотя это прежде всего среда веб-приложений Node.js, Express.js используется для серверной разработки для создания API и обработки логики на стороне сервера.
  • ASP.NET Core: кроссплатформенная высокопроизводительная платформа для создания серверных веб-приложений с помощью .NET.
  • Laravel. Фреймворк для веб-приложений на PHP, предоставляющий выразительный синтаксис и ряд инструментов для серверной разработки.

Есть еще много, но это хорошая отправная точка.

🔗 Frontend против Backend веб-разработки

Итак, в чем основное различие между веб-разработкой для веб-интерфейса и веб-разработкой для серверной части?

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

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

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

Я думаю о них как о двух сторонах одной медали. Оба работают над одним и тем же веб-сайтом или веб-приложением, но с совершенно разными ролями и наборами навыков.

Мы рассмотрели различие более подробно здесь, в нашем сообщении в блоге о интерфейсе против бэкэнда, но это основная мысль.

🔗 Бэкэнд-веб-разработка против других типов бэкэнд-разработки

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

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

🔗 Backend разработка игр

Бэкэнд-веб-разработка занимается веб-приложениями и API-интерфейсами, в то время как бэкэнд-разработка игр фокусируется на обработке игровых серверов, данных игроков и многопользовательских взаимодействиях в видеоиграх в реальном времени. Такие технологии, как Node.js, Unity и Unreal Engine, являются обычным выбором для разработчиков серверных игр.

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

🔗 Backend мобильная разработка

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

К популярным технологиям для разработки серверной части для мобильных устройств относятся Firebase, AWS Mobile Hub и настраиваемые сервисы API.

🔗 Backend IoT разработка

Разработка серверной части IoT создает инфраструктуру и серверные службы, которые обеспечивают связь и обработку данных для устройств Интернета вещей (IoT). И бэкэнд IoT, и веб-разработка обрабатывают логику на стороне сервера, но разработка IoT делает упор на обработку данных в реальном времени, связь устройств и масштабируемость для работы с огромным количеством подключенных устройств.

При разработке серверной части IoT часто используются такие технологии, как MQTT, CoAP или настраиваемые облачные платформы для обработки данных IoT и обмена данными с устройствами.

🔗 Зарплата и перспективы работы

Деньги не должны быть всем, но имеет смысл, что они должны быть в центре внимания любых новичков в веб-разработке.

К счастью, StackOverflow ежегодно проводит опрос, включающий некоторые увлекательные глобальные данные о зарплатах. Роли не совсем соответствуют тому, как я бы их назвал, но вот лучшее резюме, которое я могу сделать:

На ожидаемый уровень заработной платы влияют различные факторы, такие как местоположение, уровень опыта и найм компании. Кроме того, имейте в виду, что эти цифры являются глобальными, поэтому, если вы находитесь в такой стране, как Соединенные Штаты, в реальности зарплаты намного выше. Также стоит упомянуть, что с повышением квалификации в облачной разработке, DevOps и администрировании баз данных вы можете выполнять ту же работу, но с большей зарплатой:

Я говорил об «альтернативных» или более специализированных ролях веб-разработчика бэкэнда здесь:

Что касается поиска работы, количество веб-сайтов и веб-приложений не становится меньше. Бюро трудовой статистики ожидает, что роль веб-разработчика (неполное совпадение с бэкэнд-веб-разработчиком) вырастет на 23 процента в период с 2021 по 2031 год, что намного быстрее, чем большинство рабочих мест, которые они прогнозировали, что составляет всего 0,5 процента.

Заключение

Итак, после всего этого сообщения в блоге, давайте рассмотрим. Что такое бэкэнд-веб-разработка? Бэкенд-веб-разработчики заставляют веб-сайты и веб-приложения делать что-то интересное.

Но это нечто большее. Бэкэнд-веб-разработчик — это круто. Это буквально основа современного Интернета. Мало того, это фантастическая карьера с множеством перспектив трудоустройства в зависимости от того, в какой области вы предпочитаете развиваться.

Надеемся, что эта запись в блоге дала вам краткий обзор области, и вы получили лучшее представление о том, что такое серверная веб-разработка.

Нашли проблему в этой статье?

Сообщить о проблеме на GitHub

Первоначально опубликовано на https://blog.boot.dev 7 августа 2023 г.