React Native - это кросс-платформенная платформа для создания мобильных приложений, которые могут работать за пределами браузера - чаще всего это приложения для iOS и Android
Его можно использовать для создания приложений на устройствах Windows, настольных ОС и приложениях Apple TV, но это руководство будет охватывать только самые распространенные цели - приложения для Android и iOS.
**Оглавление**
* [Что такое React Native?](#what-is-react-native)
React Native располагается между нативными и гибридными приложениями в области мобильных приложений. Создаваемый вами пользовательский интерфейс полностью является нативным, а общая производительность приложений почти такая же, как и у нативных. Это также дает вам возможность встраивать веб-представления (веб-страницы) или нативный код (Java/Kotlin для Android, Objective C/Swift для iOS) внутрь ваших приложений, где бы вы ни захотели.
Платформа работает по тому же принципу, что и React, в котором представления (то, что вы видите на экране) рендерятся из JavaScript файлов. Разница в том, что React Native предоставляет собственный API для обработки нативных мобильных представлений (в отличие от DOM в интернете). Если вам не ясно, как это работает, следуйте этому руководству от freeCodeCamp, которое шаг за шагом проведёт познакомит вас с этими концепциями.
1.**Повторное использование кода.** Он использует одну кодовую базу, которая разделяется между обеими платформами.
2.**Повторное использование веб-инструментов и навыков.** Повторное использование знаний, инструментов и утилит JavaScript, таких как `axios` , Redux и других библиотек, которые не требуют DOM из интернета.
3.**Оптимизирован для производительности разработчиков.** Поставляется с такими функциями, как живая перезагрузка модулей, а также с инструментами разработчика Chrome для отладки!
4.**Производительность.** Имеет лучшую производительность, чем гибридные платформы (такие как Ionic и Cordova), поскольку RN не использует веб-представления.
5.**Корпоративная поддержка.** Многие компании поддерживают и вносят вклад в React Native, включая Walmart, Airbnb, Wix и, конечно же, Facebook.
6.**Сообщество.** React Native имеет большое (и растущее) сообщество с более чем 1500 участниками основного проекта и тысячи других, которые вносят вклад в различные библиотеки.
7.**Лучший пользовательский опыт.** React Native использует код JavaScript для рендеринга нативных компонентов из ОС вашего телефона. Другими словами, пользовательский интерфейс приложения (UI) является полностью нативным!
8.**Кроссплатформенность.** Это отличный способ прототипирования и экономии времени, которое можно использовать для создания универсального пользовательского интерфейса или нативного приложения, которое может работать как на устройствах iOS, так и на Android.
1. [Создайте приложение React Native](https://www.npmjs.com/package/create-react-native-app) - похожее на приложение Create React, оно запускается с использованием терминала.
2. [Expo](https://expo.io) - Лучшее для прототипирования приложения или если это более ранняя стадия. Используя Expo, вы даже можете создать быстрое приложение, используя функции перетаскивания из snack.expo.io в broswer.
3. [Ignite CLI](https://github.com/infinitered/ignite) - Позволяет разработчикам запросто создавать новый проект, используя всевозможные практики и принятые best practices.