React Native
React Native — это кроссплатформенный фреймворк с открытым исходным кодом для разработки нативных мобильных и настольных приложений на JavaScript и TypeScript, созданный Facebook, Inc.[3] React Native поддерживает такие платформы как Android,[4] Android TV,[5] iOS, macOS,[6] Apple tvOS,[7] Web,[8] Windows и UWP[9], позволяя разработчикам использовать возможности библиотеки React вне браузера для создания нативных приложений, имеющих полный доступ к системным API платформ.[10]
React Native | |
---|---|
Тип | фреймворк для разработки мобильных приложений |
Разработчик | Facebook и сообщество |
Написана на | JavaScript, Java, C++, Objective-C |
Первый выпуск | 26 марта 2015[1] |
Аппаратная платформа | Android, Android TV, iOS, macOS, tvOS, Web и Windows |
Последняя версия | 0.66.4 (9 декабря 2021[2]) |
Тестовая версия | 0.67.0-rc.6 (14 декабря 2021[2]) |
Лицензия | MIT License |
Сайт | reactnative.dev |
Реализация
Основные принципы работы React Native практически идентичны принципам работы React, за исключением того, что React Native управляет не браузерной DOM, а платформенными интерфейсными компонентами. JavaScript-код, написанный разработчиком, выполняется в фоновом потоке, и взаимодействует с платформенными API через асинхронную систему обмена данными, называемую Bridge.[11][12][13] В 2021 году ожидается замена Bridge на более производительную синхронную модель обмена данными, поддерживающую парадигму zero-copy.
Хотя система стилей (способ конфигурации визуальных свойств элементов интерфейса) React Native имеет синтаксис, похожий на CSS, фреймворк не использует технологии HTML или CSS как таковые.[14] Вместо этого для каждой из поддерживаемых фреймворком операционных систем реализованы программные адаптеры, применяющие заданный разработчиком стиль к платформенному интерфейсному элементу.
React Native также позволяет разработчикам использовать уже существующий код, написанный на других языках программирования — например, Java или Kotlin для Android и Objective-C или Swift для iOS. Также React Native поддерживает интеграцию в уже существующие приложения — например, часть интерфейса мобильного приложения может быть реализована на React Native, а часть — при помощи чисто платформенных средств.
См. также
Примечания
- React Native: Bringing modern web techniques to mobile .
- Releases – Facebook/React . GitHub.
- Chapter 1. What Is React Native? . oreilly.com. O’Reilly Media, Inc.. Дата обращения: 30 июля 2020.
- Android Release for React Native .
- Building For TV Devices · React Native (англ.). reactnative.dev. Дата обращения: 2 октября 2020.
- React Native for Windows + macOS · Build native Windows & macOS apps with Javascript and React . microsoft.github.io. Дата обращения: 2 октября 2020.
- React Native for Apple TV (англ.) ?. React Native for Apple TV. Дата обращения: 2 октября 2020.
- React Native for Web . Дата обращения: 6 ноября 2019.
- Windows Apps Team. React Native on the Universal Windows Platform . blogs.windows.com (April 13, 2016). Дата обращения: 6 ноября 2016.
- Out-of-Tree Platforms . reactnative.dev. Facebook, Inc.. Дата обращения: 30 июля 2020.
- Bridging in React Native (14 October 2015). Дата обращения: 16 января 2018.
- React Native vs Flutter: Which Cross-Platform Framework is Better? (недоступная ссылка). Дата обращения: 6 ноября 2019. Архивировано 14 мая 2019 года.
- How we build React Native app: 7 things which save your development time. Part 2 . Дата обращения: 6 ноября 2019.
- React Native Style . Дата обращения: 24 февраля 2021.