react-native README

The project's README from github.com/react/react-native. As one markdown file: README.md.

React Native logo

Learn once, write anywhere:
Create native apps for Android, iOS, and more using React

React Native is released under the MIT license Current npm package version Monthly npm downloads Follow @reactnative on X

Getting Started · Learn the Basics · Showcase · Contribute · Community · Support

React Native

React Native lets you build native apps using React. Written in JavaScript, rendered with native code.

React Native is developed and supported by many companies and individual core contributors. Find out more on the React Foundation website.

Building your first React Native app

Follow the Getting Started guide for a new app, or Integration with Existing Apps to adopt React Native incrementally.

Using a Framework

We believe that the best way to experience React Native is through a Framework, a toolbox with all the necessary APIs to let you build production ready apps. Expo is a production-grade React Native Framework, with file-based routing, a standard library of native modules, and much more.

To create a new Expo project, run the following in your terminal:

npx create-expo-app@latest

Then follow the rest of Expo's getting started guide to start building.

Without a Framework

You can also use React Native without a Framework, however we've found that most developers benefit from one — navigation, native dependencies, and platform tooling are problems the ecosystem has already solved. If a Framework doesn't suit your app, follow Getting Started Without a Framework.

Documentation

The full documentation for React Native can be found on our website.

The source for the React Native docs and website is hosted on a separate repository, react/react-native-website.

Contributing

The main purpose of this repository is to continue evolving React Native core. We want to make contributing to this project as easy and transparent as possible, and we are grateful to the community for contributing bug fixes and improvements. Read below to learn how you can take part in improving React Native.

Code of Conduct

Meta has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributing Guide

Read our Contributing Guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to React Native.

Discussions

Larger discussions and proposals are discussed in react-native-community/discussions-and-proposals.

React Native releases are discussed in reactwg/react-native-releases.

License

React Native is MIT licensed, as found in the LICENSE file.

react-native (react/react-native)

Searching Database…

Что это такое?React Native позволяет создавать нативные мобильные приложения для Android, iOS и других платформ с помощью React. Интерфейс описывается на JavaScript, но отрисовывается настоящими нативными компонентами платформы, а не через WebView.
Это библиотека для интерфейса или что-то большее, например полноценный фреймворк для приложений?Это базовый фреймворк: он предоставляет нативные примитивы интерфейса, мост между JavaScript и нативным кодом (Native Modules) и архитектуру отрисовки. Но сам по себе это не полный набор инструментов: проект рекомендует использовать его в связке с фреймворком более высокого уровня, например Expo, для маршрутизации, управления нативными зависимостями и инструментов разработки.
Как мне начать новое приложение на React Native?Рекомендуемый путь — использовать Expo: выполните команду 'npx create-expo-app@latest' и следуйте руководству по началу работы от Expo. Также можно обойтись без фреймворка и следовать руководству «Начало работы без фреймворка» или встроить React Native в уже существующее нативное приложение.
Нужно ли мне также ставить инструменты для нативной мобильной разработки?Да: поскольку React Native отрисовывает настоящий нативный интерфейс и поставляется с Native Modules для вызова платформенного кода, понадобятся стандартные инструменты для Android и iOS (Android Studio/Gradle, Xcode/CocoaPods) наряду с инструментами для Node/JavaScript.
Лучше ли просто обойтись без фреймворка?Мейнтейнеры прямо не рекомендуют большинству разработчиков обходиться без фреймворка: навигация, нативные зависимости и платформенные инструменты считаются уже решёнными задачами в экосистеме Expo, поэтому без него всё это придётся решать самостоятельно.
Для каких платформ это предназначено?Основные целевые платформы — Android и iOS. Девиз проекта обещает «нативные приложения для Android, iOS и других платформ» по принципу «учи один раз — пиши везде».
Что происходит, когда я редактирую JavaScript-код во время разработки?Fast Refresh применяет изменения в JS за считаные секунды без пересборки нативного приложения, поэтому локальные правки видны почти сразу.
Интерфейс действительно использует нативные компоненты или это WebView?Отрисовка идёт настоящими нативными примитивами интерфейса платформы, поэтому жесты, масштабирование текста и специальные возможности работают именно так, как ожидают пользователи в каждой ОС, а не через встроенный браузер.
Можно ли добавить React Native в уже готовое приложение?Да, в руководстве «Интеграция с существующими приложениями» описано, как постепенно внедрять React Native в существующую нативную кодовую базу.
Что делать, если нужной функции нет в React Native из коробки?Можно написать Native Modules, чтобы напрямую вызывать платформенный код из JavaScript (синхронно и с контролем типов), либо использовать одну из тысяч существующих библиотек сообщества.
Creator
react
Size
966 MB
Stars
126.7K
Age
11y
Commits · 90 Days