React Nativeфреймворк інтерфейсу користувача з відкритим кодом, створений Meta Platforms, Inc. [1] Він використовується для розробки програм для Android, [2] [3] Android TV, [4] iOS, [3] macOS, [5] tvOS, [6] Web, [7] Windows [5] і UWP [8] дозволяючи розробникам використовувати фреймворк React разом із нативними можливостями платформи. [9] Він також використовується для розробки програм віртуальної реальності в Oculus . [10]

React Native
Тип фреймворк для розробки

програмного

Розробники Facebook та співтовариство
Написаний на JavaScript, Java, C++,

Objective-C, Python

Перший випуск 26 березня 2015;

7 років тому

Апаратна платформа Android, Android TV, iOS,

macOS, tvOS, Web, Windows, UWP, and VR

Остання версія версія 0.69.3

(25 липня 2022; 4 місяці тому)

Ліцензія MIT License
Сайт reactnative.dev

Історія

ред.

У 2012 році Марк Цукерберг прокоментував: «Найбільша помилка, яку ми припустили як компанія, — це занадто багато ставок на HTML, а не нативний». [11] [12] Використання HTML5 для мобільної версії Facebook призвело до нестабільної роботи програми, яка повільно отримувала дані. [13] Він пообіцяв, що Facebook незабаром забезпечить кращий мобільний досвід.

У Facebook Джордан Волке знайшов спосіб генерувати елементи інтерфейсу користувача для iOS із фонового потоку JavaScript, який став основою для веб-фреймворку React . Вони вирішили організувати внутрішній хакатон, щоб удосконалити цей прототип, щоб мати можливість створювати нативні програми за допомогою цієї технології. [14]

У 2015 році, після місяців розробки, Facebook випустив першу версію для конфігурації React JavaScript. Під час технічної розмови [15] Крістофер Шедо пояснив, що Facebook уже використовує React Native у виробництві для своїх групових додатків і додатків Ads Manager. [16]

Реалізація

ред.

Принципи роботи React Native практично ідентичні React, за винятком того, що React Native не використовує DOM через Virtual DOM . Він працює у фоновому режимі (який інтерпретує JavaScript, написаний розробниками) безпосередньо на кінцевому пристрої та спілкується з рідною платформою через серіалізовані дані через асинхронний і пакетний міст. [17] [18]

Компоненти React обгортають існуючий нативний код і взаємодіють із нативними API через декларативну парадигму інтерфейсу React і JavaScript .

Хоча стиль React Native має подібний синтаксис до CSS, він не використовує HTML або CSS . [19] Натомість повідомлення з потоку JavaScript використовуються для маніпулювання нативними представленнями. Без React Native розробники повинні писати нативний код на мовах цільової платформи, таких як Java або Kotlin для Android, Objective-C або Swift для iOS і C++/WinRT або C# для Windows 10 .

React Native також доступний як для Windows, так і для macOS, який наразі підтримує Microsoft .

Приклад Привіт Світ

ред.

Програма Привіт Світ у React Native виглядає так:

import { AppRegistry, Text } from 'react-native';
import * as React from 'react';

const HelloWorldApp = () => {
  return <Text>Привіт Світ!</Text>;
}

export default HelloWorldApp;

AppRegistry.registerComponent('Привіт Світ', () => HelloWorldApp);

Дивіться також

ред.

Список літератури

ред.
  1. Chapter 1. What Is React Native?. oreilly.com. O’Reilly Media, Inc. Процитовано 30 липня 2020.
  2. Android Release for React Native. 14 вересня 2015.
  3. а б Shankland, Stephen (29 березня 2018). Mozilla's radical open-source move helped rewrite rules of tech. CNET. Процитовано 11 травня 2022.
  4. Building For TV Devices · React Native. reactnative.dev (англ.). Процитовано 2 жовтня 2020.
  5. а б React Native for Windows + macOS · Build native Windows & macOS apps with Javascript and React. microsoft.github.io. Процитовано 2 жовтня 2020.
  6. React Native for Apple TV. React Native for Apple TV (амер.). Архів оригіналу за 21 вересня 2020. Процитовано 2 жовтня 2020.
  7. React Native for Web. GitHub. Процитовано 6 листопада 2019.
  8. Windows Apps Team (13 квітня 2016). React Native on the Universal Windows Platform. blogs.windows.com. Процитовано 6 листопада 2016.
  9. Out-of-Tree Platforms. reactnative.dev. Facebook, Inc. Процитовано 30 липня 2020.
  10. React Native in H2 2021 · React Native. reactnative.dev (англ.). Процитовано 20 серпня 2021.
  11. Zuckerberg's Biggest Mistake? 'Betting on HTML5'. Mashable. Процитовано 7 квітня 2018.
  12. Zuckerberg, Mark (12 вересня 2012). Fireside Chat With Facebook Founder and CEO Mark Zuckerberg. TechCrunch (interview). Процитовано 16 серпня 2021.{{cite web}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  13. Warren, Christina. Zuckerberg's Biggest Mistake? 'Betting on HTML5'. Mashable (англ.). Процитовано 29 жовтня 2020.
  14. A short Story about React Native. Архів оригіналу за 17 січня 2018. Процитовано 16 січня 2018.
  15. Christopher, Chedeau. A Deep Dive into React Native. YouTube. Процитовано 16 січня 2018.
  16. React Native: Bringing modern web techniques to mobile. 26 березня 2015.
  17. Bridging in React Native. 14 жовтня 2015. Процитовано 16 січня 2018.
  18. How we build React Native app: 7 things which save your development time. Part 2. Процитовано 6 листопада 2019.
  19. React Native Style. Процитовано 24 лютого 2021.