Подтвердить что ты не робот

Что позволяет React Native использовать JavaScript для iOS и Android?

Что использует React Native под обложками для взаимодействия с iOS и Android? Кордова использует WebView для эффективного отображения веб-страницы внутри собственного контейнера; Использует ли React Native тот же подход? Если нет, какой подход он использует?

4b9b3361

Ответ 1

Как вы заметили, React Native не основан на Кордове. Это не веб-сайт, который выглядит как приложение, перекованное в WebView.

React Native использует среду выполнения JavaScript, но пользовательский интерфейс не является HTML и не использует WebView. Для определения пользовательского интерфейса вы используете JSX и React Native.

Он обеспечивает производительность и внешний вид собственного уровня, но некоторые части пользовательского интерфейса должны быть настроены отдельно для iOS и Android. Например, панели инструментов полностью разные, но TextInput может быть одинаковым для обеих операционных систем.

Ответ 2

На iOS-симуляторах и устройствах, эмуляторах и устройствах Android React Native использует JavaScriptCore, который является механизмом JavaScript, который включает Safari. Источник

Ответ 3

Для запуска кода Javascript

React Native использует JavaScriptCore (движок JavaScript, поддерживающий Safari) на симуляторах и устройствах Android/iOS.

В случае Android, React Native объединяет JavaScriptCore вместе с приложением.

В случае iOS React Native использует JavaScriptCore, предоставляемый платформой iOS.

Общаться с Android/iOS

Используется React Native bridge (C++/Java bridge). Он отвечает за связь между нативным потоком и потоком Javascript.

В большинстве случаев разработчик написал бы все приложение React Native на Javascript. Чтобы запустить приложение, через CLI выдается одна из следующих команд - react-native run-ios или react-native run-android. На этом этапе React Native CLI порождает упаковщик/упаковщик узлов, который main.bundle.js код JS в один файл main.bundle.js. Упаковщик может рассматриваться как аналог Webpack. Теперь, когда запускается приложение React Native, первым загружаемым элементом является собственная точка входа. Собственный поток порождает поток виртуальной машины JS, который выполняет связанный код JS. Код JS имеет всю бизнес-логику приложения. Собственный поток теперь отправляет сообщения через RN Bridge, чтобы запустить приложение JS. Теперь порожденный поток Javascript начинает выдавать инструкции собственному потоку через RN Bridge. Инструкции включают в себя то, какие представления загружать, какую информацию следует извлекать из аппаратного обеспечения и т.д. Источник