React
React обычно называют фреймворком для JavaScript, а конкретнее, для Frontend-разработки на JS.
Однако это не совсем так. Он не является полноценным фреймворком как Angular, а лишь даёт язык шаблонов и callback-функции для HTML.
Большой обзор онлайн-курсов по разработке на React.js — katalog-kursov.ru/courses/razrabotka_na_react-js/
По сути React - это JavaScript-библиотека для создания пользовательских интерфейсов.
Но это не помешало ему привлечь внимание большой части Fronetend-разработчиков, т.к. он помогает решать проблемы со стороны декларативного программирования.
Декларативный подход к программированию - это специфика решения задач, путём описывания ожидаемого результата, а не способа его получения.
Главной задачей React является отображение на веб-странице компонент интерфейса, при этом синхронизируя с данными приложения.
В случае крупных проектов, React имеет большое преимущество относительно своих конкурентов. Т.к. в нем используется только JavaScript, то разработчики могут использовать привычный тип организации кода.
Почему стоит учить React?
Данная библиотека очень популярна на данный момент и будет оставаться такой ближайшее время, что означает наличие большого количества готовых проектов с открытым кодом, примеров, курсов.
К сожалению, количество технической документации оставляет желать лучшего, а на русском языке она, вообще, почти отсутствует.
Но этот факт компенсирует довольно большое и дружное комьюнити разработчиков, которые всегда готовы помочь с возникшей проблемой.
На специалистов этого направления сейчас действует довольно высокий спрос, соответственно и заработная плата у таких разработчиков высокого уровня.
Итак, подведем итог:
React не является универсальным инструментом в любой возникшей ситуации. Для того, чтобы понять, подходит ли вам он, нужно разобраться во всех его преимуществах и недостатках.
React подойдёт для обучения, если вы планируете работать с масштабируемыми проектами, использовать параллельно Flow или TypeScript, собираетесь быстро создавать сложные приложения или платформы для потокового видео и медиавещания.