Backend для Frontend-разработчика и наоборот: осваиваем новое

Фронтендеру не помешает знать, как работает Backend, и наоборот. Сразу определитесь, чего хотите: полного перехода или простого знакомства?

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

Мы не будем говорить о полном переходе на Frontend или Backend: просто дадим несколько дельных советов, которые поспособствуют всестороннему развитию.

Frontend > Backend

Начнем с определения самого понятия "Backend". Это программно-аппаратная часть сервиса, все процессы, происходящие непосредственно на сервере, в том числе работа с базами данных. В контексте клиент-серверного ПО это сервер, клиент – Frontend, а между ними HTTP – система запросов от браузера и ответов сервера HTML-страницей.

Иными словами, уровня всего три: интерфейс, средний уровень (точки соприкосновения) и сервер.

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

  • Изучите разработку API.
  • Особое внимание стоит уделить REST и, возможно, GraphQL.
  • Поймите разницу между ошибками 422 и 401, а также GET/POST/PATCH/PUT, etc.

Если же этого недостаточно, и вы действительно заинтересованы в бекенде, то:

  • Изучите аппаратные ограничения.
  • Освойте Linux.
  • Узнайте о шинах сообщений (message bus), очередности и межпроцессных коммуникациях.
  • Узнайте об обнаружении сервисов (service discovery) и различиях между Eventually Consistent и Strongly Consistent.
  • Изучите информацию о контейнеризации.
  • Поймите, как работает система.
  • Изучите алгоритмы, включая графовые алгоритмы и определение алгоритмической сложности.

Полезно в обоих случаях:

  • Освойте SQL.
  • Познакомьтесь с несколькими СУБД, такими как NoSQL, MongoDB, Elastic Search, Redis и т. д.
  • Узнайте о безопасности.

Не беспокойтесь о конкретных языках: данные концепции подходят для любого.

Backend > Frontend

Пришло время взяться за изучение трех столпов фронтенда:

  1. HTML
  2. CSS
  3. JavaScript

Это главное. Существуют различные библиотеки и фреймворки, которые также используются во Frontend-разработке. Среди них Bootstrap, jQuery, AngularJS и многие другие. Но в первое время даже не думайте о дополнительных инструментах. Все они основаны на HTML, CSS и JavaScript. Изучите основы, и у вас не будет проблем с переходом к библиотекам и фреймворкам.

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

Наши материалы по теме

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

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ