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, собираетесь быстро создавать сложные приложения или платформы для потокового видео и медиавещания.