React — JavaScript-библиотека для создания веб-интерфейсов.

Давайте разберём каждую часть фразы.

  • С помощью веб-интерфейсов пользователи взаимодействуют с сайтом — нажимают на кнопки, заполняют формы, пользуются жестами и другими интерактивными элементами.
  • Создавать интерфейсы для больших проектов на React проще, чем на чистом JavaScript, поэтому эта библиотека используется на большом количестве сайтов. При этом в небольших проектах хватит и чистого JavaScript.
  • Большинство сайтов написано на JavaScript. И если вы знаете JavaScript, то вы автоматически можете описать интерфейс с помощью React. При этом, конечно, есть много техник, которые нужно изучить для использования React.

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

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

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

Пример задачи, которую может решить React-разработчик.

Создать кнопку, которая покажет спиннер внутри неё при отправке HTTP-запроса и превратится обратно в обычную кнопку при успешном или ошибочном выполнении запроса.

Тестирование. Как и любой другой код, код на React обязательно должен проходить тестирование. В это время тестировщики (или сам разработчик) будут тестировать функциональность и исправлять ошибки, если они есть. Это касается и поведения элементов, и их внешнего вида.

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

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

Какие нужны навыки

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

Веб-технологии. Минимум, который необходим любому фронтенд-разработчику: JavaScript, HTML, CSS, Sass или Less, Webpack. React-разработчику обязательны нужно знать как управлять состоянием компонента с помощью Redux и тестировать компонент с помощью Enzyme

Фреймворки. Знание дополнительных фреймворков помогает или увеличить количество задач (а значит и зарплату) на текущем месте работы, или найти новую, так как будет доступно больше вакансий. Список фреймворков: Angular, Vue, Svelte.

Дополнительные библиотеки.

  • Управление состоянием: Redux, MobX, RxJS.
  • Роутинг: React Router.
  • Стилизация: CSS Modules, styled-components
  • Работа со времене: date-fns
  • Запросы к серверу: axios.

Тестирование приложений. В больших компаниях есть отдельные команды тестировщиков, но в начале карьеры в небольших студиях разработчик может быть сам себе тестировщиком. Чтобы успешно проверять свой код, нужно знать React Testing Library, Mocha, Jest, Karma, VCS, понимать, что такое Unit-тесты и владеть методологией TDD.

«Вы просто нажимаете на кнопки, любой так может». 18 глупых вопросов тестировщику

Базы данных. Общее понимание баз данных поможет налаживать взаимодействие с бэкендом. Самые популярные (и нужные реакт-разработчику): MySQL, NoSQL (например, MongoDB), PostgreSQL, Redis. Не обязательно все, но важно иметь хотя бы общее представление.

Системы контроля версий. Инструменты, в которых обязательно ведётся работа в любой команде программистов. На выбор: GitHub, GitLab, Bitbucket, Subversion.

Облачные платформы. Многие компании переносят сайты (особенно, если нагрузка большая) на облачные сервисы, поэтому хорошо иметь представление о работе и этих систем. Среди популярных: Amazon AWS, Microsoft Azure, OpenStack Apache, Google Cloud Platform.

Управление проектами. Списки задачи и найденные ошибки удобнее всего вести в специальных программах — таск-трекерах и баг-трекерах. Поэтому важно представлять, как работают Jira, Basecamp, Trello, Asana или ClickUp. Они построены на одних и тех же принципах, поэтому достаточно знать, как в целом устроены такие системы.

React — ключ к сейфу с кучей денег

Расскажем, с чего начать обучение React-разработке, а потом ещё и научим.

Хочу консультацию