React
React - это библиотека JavaScript для создания пользовательских интерфейсов. Обратите внимание, что это именно библиотека, а не фреймворк; React часто называют фреймворком, но это ошибка. Во-первых, использование React ничего не обещает и не формирует "каркас" проекта. Во-вторых, React выполняет только одну задачу. Он отображает компоненты интерфейса на странице и синхронизирует их с данными приложения, но в целом одной этой библиотеки недостаточно для полноценной реализации проекта... React и аналогичные решения (Vue.js, Svelte) вскоре после своего появления практически доминировали в мире front-end практически доминируют в мире front-end.
В силу особенностей библиотеки код React может показаться непривычным для тех, кто пишет на JavaScript:<body>ведь в нем практически отсутствует обертка тегов. Но давайте посмотрим непосредственно на приложение-счетчик. Его основная логика находится в строках 25-40. Весь код находится в функции App; в React эта и подобные ей функции называются компонентами. Компонент - это часть интерфейса, содержащая разметку и, где нужно, связанную с ней логику - все приложения React построены на компонентах. Впрочем, сам компонентный подход появился задолго до React, но здесь он сочетается с декларативностью.
React не является универсальным инструментом, который подходит к любому проекту, важно знать его преимущества и недостатки, чтобы понять, решит ли React вашу задачу. Библиотека действительно может облегчить жизнь разработчика. С ее помощью из отдельных компонентов можно создавать интерфейсы, которые легко поддерживать. Она добавляет полезный слой абстракции и избавляет от необходимости напрямую манипулировать DOM. React - уже не новая библиотека, за ней стоит крупная компания и большое сообщество разработчиков в Facebook. Поэтому она хорошо протестирована, регулярно поддерживается и последовательно обновляется, а переход на новые версии происходит максимально плавно. Благодаря сообществу, React имеет хорошо проработанную документацию и большой опыт, накопленный в статьях, курсах и конференциях. На GitHub можно найти компоненты React практически для любого случая. И даже если их нет, если нужна независимая библиотека, можно поискать интеграции или создать свою собственную. Со временем в сообществе React сложились определенные подходы и договоренности о том, как организовывать проекты и код и как решать общие проблемы. Для разработчиков это означает, что им нужно тратить меньше времени на обсуждение тех или иных договоренностей.