React Native

React Native
Логотип программы React Native
Скриншот программы React Native
Тип фреймворк для разработки мобильных приложений
Разработчики Meta и сообщество
Написана на JavaScript, Java, C++, Objective-C
Операционная система кроссплатформенность
Дата выпуска 26 марта 2015; 11 лет назад (2015-03-26)[1]
Аппаратные платформы Android, Android TV, iOS, macOS, tvOS, Web и Windows
Последняя версия
Репозиторий github.com/facebook/reac…
Лицензия MIT License
Сайт reactnative.dev

React Native — кроссплатформенный фреймворк с открытым исходным кодом для разработки нативных мобильных и настольных приложений на JavaScript и TypeScript, созданный Facebook, Inc. (Ныне Meta)[3].

React Native поддерживает такие платформы как Android[4], Android TV[5], iOS, macOS[6], tvOS[7], Web[8], Windows и UWP[9], позволяя разработчикам использовать возможности библиотеки React вне браузера для создания нативных приложений, имеющих полный доступ к системным API платформ[10].

Реализация

Основные принципы работы 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, а часть — при помощи чисто платформенных средств.

Пример реализации

Пример «Hello, World» в React Native:

import { AppRegistry, Text, View, Button } from 'react-native';
import React from 'react';

const HelloWorldApp = () => {
  const [count, setCount] = React.useState(0);

  const incrementCount = () => {
    setCount((prevCount) => prevCount + 1);
  };

  return (
    <View>
      <Text>Hello world!</Text>
      <Text>{count}</Text>
      <Button onPress={incrementCount} title="Increase Count" />
    </View>
  );
};

export default HelloWorldApp;

AppRegistry.registerComponent('HelloWorld', () => HelloWorldApp);

См. также

Примечания

  1. React Native: Bringing modern web techniques to mobile. Дата обращения: 29 апреля 2021. Архивировано 8 августа 2019 года.
  2. Release 0.85.3 — 2026.
  3. Chapter 1. What Is React Native? oreilly.com. O’Reilly Media, Inc.. Дата обращения: 30 июля 2020. Архивировано 29 апреля 2021 года.
  4. Android Release for React Native. Дата обращения: 29 апреля 2021. Архивировано 8 марта 2021 года.
  5. Building For TV Devices · React Native (англ.). reactnative.dev. Дата обращения: 2 октября 2020. Архивировано 30 июня 2020 года.
  6. React Native for Windows + macOS · Build native Windows & macOS apps with Javascript and React. microsoft.github.io. Дата обращения: 2 октября 2020. Архивировано 4 октября 2020 года.
  7. React Native for Apple TV (амер. англ.). React Native for Apple TV. Дата обращения: 2 октября 2020. Архивировано из оригинала 21 сентября 2020 года.
  8. React Native for Web. Дата обращения: 6 ноября 2019. Архивировано 5 декабря 2019 года.
  9. Windows Apps Team. React Native on the Universal Windows Platform. blogs.windows.com (13 апреля 2016). Дата обращения: 6 ноября 2016. Архивировано 7 ноября 2016 года.
  10. Out-of-Tree Platforms. reactnative.dev. Facebook, Inc.. Дата обращения: 30 июля 2020. Архивировано 1 июля 2020 года.
  11. Bridging in React Native (14 октября 2015). Дата обращения: 16 января 2018. Архивировано 9 мая 2021 года.
  12. React Native vs Flutter: Which Cross-Platform Framework is Better? Дата обращения: 6 ноября 2019. Архивировано из оригинала 14 мая 2019 года.
  13. How we build React Native app: 7 things which save your development time. Part 2. Дата обращения: 6 ноября 2019.
  14. React Native Style. Дата обращения: 24 февраля 2021. Архивировано 29 апреля 2021 года.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.