Как стать Backend разработчиком и с чего начать обучение?

Что такое Backend-разработка?

Приложение или веб-сервис может состоять из двух основных частей: внешнего интерфейса и бэкэнда. О ролях этих частей можно догадаться по их названиям. Интерфейс - это та часть, которую вы можете «видеть». Это часть, которая позволяет вам взаимодействовать с приложением или сервисом. Цвета, анимация, макет и все другие интересные вещи, которые вы видите по мере использования приложения или веб-сайта, - это интерфейс. Интерфейс обычно называется пользовательским интерфейсом (UI).

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

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

Чем занимается Backend-разработчик?

Бэкэнд-разработчики чаще всего делают следующие вещи:

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

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

Необходимые знания

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

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

Во-вторых, узнайте, что такое база данных, и какие существуют типы баз данных.

В-третьих, получите фундаментальное понимание того, что такое HTTP. Связь между сервером и клиентом (то есть «пользователем» приложения - например, вашим веб-браузером) происходит с помощью определенных правил («протокола»), и вы должны понимать, как этот протокол работает.

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

Где обо всем этом узнать? Мы рекомендуем вам начать с поиска в Google. Прочтите несколько статей или посмотрите парочку видео по каждой теме. У разных людей есть разные способы обучения, которые им подходят. Выясните, что легче всего усваивать именно вам.

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

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

Технологии и языки

Вот то, чего вы так долго ждали - выбор языка / фреймворка для изучения серверной разработки.

Классический набор серверных технологий («стек технологий») называется LAMP. Это аббревиатура от Linux (операционная система), Apache (сервер), MySQL (база данных), PHP (серверный язык).

Однако современные серверные технологии быстро заменяют LAMP и другие, более традиционные, благодаря своей мощности и простоте, а также благодаря невероятной поддержке сообщества. Давайте поговорим о некоторых из таких серверных «фреймворков», написанных на двух невероятно популярных языках: Python и JavaScript.

Flask - популярный серверный фреймворк, написанный на Python. Однако наиболее известным и популярным фреймворком в Python является Django. Я видел, как многие начинали с Flask и переходили на Django, когда набирались опыта.

Один из языков, который мы бы рекомендовали для серверной части, - это JavaScript. Соответствующий фреймворк для разработки на нем это - NodeJS. NodeJS произвел революцию, добавив на сервер клиентский язык JavaScript.

NodeJS - это серверная платформа JavaScript, построенная на движке Chrome V8 и написанная на C++. Она чрезвычайно мощная и в последнее время стала очень популярной.

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

Следующий шаг: узнать о базе данных. Если вы выбираете NodeJS, естественным выбором будет MongoDB - одна из самых популярных баз данных NoSQL в мире.

После того, как вы определились с тем, какой фреймворк и базу данных вы хотите использовать, есть еще несколько вещей, с которыми вам нужно разобраться как разработчику в целом и как backend-разработчику в частности:

  • Git и GitHub для контроля версий
  • Использование сторонних платформ под базы данных (например, Mlab для MongoDB)
  • Использование сторонник платформ под сервер (например, Heroku, Digital Ocean, Amazon Web Services)

Следующие шаги

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

Возможно, наиболее естественным способом действий будет также изучить интерфейс и стать разработчиком полного стека - разработчиком, который может создать целое приложение / веб-сайт самостоятельно, поскольку он разбирается как в работе с интерфейсом, так и с серверной частью. Full-stack разработка - очень ценный навык в современном мире. 

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

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

Заключение

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

Наверх
Меню