«Чтобы быть востребованным, нужно освоить фреймворк»

«Чтобы быть востребованным, нужно освоить фреймворк»

Senior Software Engineer в Allset — о том, как и зачем изучать frontend.

По данным Stackoverflow, фронтенд входит в тройку самых востребованных IT-специальностей — выше спрос только на бэкендеров и тех, кто освоил full-stack. 

Преподаватель курса «Основы frontend-разработки: HTML, CSS, JavaScript», Senior Software Engineer в Allset Владислав Бурденюк рассказывает, что такое фронтенд и с чего начать его изучение. 

Разница между бэкендом и фронтендом

Бэкенд — это изнанка сайта/приложения: все, что скрыто от пользователя и находится на сервере. 

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

Хороший пример работы фронтендеров — сайт сервиса бронирования Airbnb. Окна, где вы выбираете даты, а также страну и город, где будете останавливаться, фильтры, по которым можете определить параметры жилья, — это фронтенд.

Что должен уметь фронтенд-разработчик

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

Чтобы выполнять эти задачи, нужно знать HTML (HyperText Markup Language), CSS (Cascading Style Sheets) и JavaScript. 

HTML — язык текстовой разметки, необходимый для верстки. Это каркас, с которого следует начать изучение фронтенда, и затем подпитывать знания: круто, если разработчик знает разные методы постройки блоков на сайте. 

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

На чистом JavaScript уже никто не пишет, и чтобы быть востребованным, нужно обязательно освоить какой-то фреймворк. Какой — спорный вопрос. Мне кажется, что самый универсальный — React. Но по популярности его догоняет Vue — фреймворк с открытым исходным кодом. Также интересен Angular. 

Самые популярные фреймворки 

Я писал на React и Angular для коммерческих проектов. Считается, что порог входа в React ниже, потому что это библиотека для того, чтобы отрисовать элементы на странице. Больше у React ничего нет. Но ни одно приложение не будет полноценно работать без форм, без страниц с редиректами. Проблема React в том, что для любого дополнительного функционала, помимо рендинга элементов, нужно изучать дополнительные инструменты и библиотеки. 

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

Есть мнение, что Angular лучше подходит для больших коммерческих продуктов, потому что его архитектуру проще поддерживать в долгосрочной перспективе. 

Vue объединил лучшее — элементы свободы React и структурированность Angular, и стал очень популярным.

Стоит ли совмещать фронтенд и бэкенд 

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

Что читать и за кем следить фронтенд-разработчику

Советую Learn JavaScript — самый известный и понятный учебник. 

Также стоит следить за отдельными людьми. Мне интересны Эдди Османи (Addу Osmany), Engineering Manager в Google, и Дэн Абрамов (Dan Abramov), который работал в Facebook. Еще полезно будет отслеживать тематические публикации в Twitter. 

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

Ещё статьи