Что такое Реакт? React не считается фреймворком, сам по себе — скорее, позиционирует себя как библиотеку представлений. Но не позволяйте этому обмануть вас, так как React был создан для решения проблем пользовательского интерфейса в очень больших масштабах.

React был довольно противоречивым, после анонсирования. Идея «Переосмысление лучших практик» была с полным основанием — предложение «Реакта» сильно отличается от тех тенденций, к которым в то время двигалось остальное сообщество JavaScript. В то время как другие авторы были сосредоточены на применении шаблона MVC для написания приложений и четкого разделения кода, связанного с представлением и другими частями приложения, React предложил объединить их и упростить код с помощью композиции и других функциональных парадигм посредством компонентов.

За время, прошедшее с момента выхода React, другие популярные фреймворки, такие как Angular и Ember, также перешли к более основанной на компонентах архитектуре, а также применили аналогичные идеи React, например, виртуальный DOM, применяет изменения к представлению.

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

Не пугайтесь идеи полагаться на внешние библиотеки. Есть много популярных библиотек, поддерживаемых сообществом, которые даже были приняты командами внутри Facebook, включая react-router, который обеспечивает способ маршрутизации на стороне клиента; Axios, в которой есть система для создания вызовов AJAX, которые легко интегрируются в приложения React; И redux, который является контейнером состояний, который помогает разработчикам обрабатывать поток данных в приложениях React.

Скачать библиотеку и ознакомится с документацией можно на сайте React.