Реагировать на родное программирование

Вернитесь и прочтите React Native 101, если ваша система не настроена для запуска React Native. Если да, то вперед ...

В. Как работает React Native?

React Native работает с использованием четырех потоков:
UI, JS, Native Modules & Render

В. Что это за темы?

1) Тема пользовательского интерфейса: она также известна как основная ветка. Это используется для рендеринга пользовательского интерфейса Android или iOS.

2) Поток JS: поток JS или поток Javascript - это поток, в котором будет выполняться логика.

3) Поток собственных модулей. Иногда приложению требуется доступ к API платформы, и это происходит как часть потока собственных модулей. Такие как Камера и Местоположение.

4) Поток рендеринга: только в Android L (5.0) нить рендеринга с поддержкой реакции используется для генерации фактических команд OpenGL, используемых для рисования вашего пользовательского интерфейса.

В. Как происходит выполнение React Native?

1) При первом запуске приложения основной поток запускает выполнение и загружает пакеты Javascript.

2) Когда код JavaScript был успешно загружен, основной поток отправляет его в другой поток JS, потому что, когда JS выполняет некоторые тяжелые вычисления, на некоторое время заполняет поток, поток пользовательского интерфейса не пострадает в любое время.

3) Когда React начинает рендеринг, Reconciler начинает «различать», а когда он генерирует новую виртуальную DOM, он отправляет изменения в другой поток (Shadow thread).

4) Теневой поток вычисляет макет, а затем отправляет параметры / объекты макета в основной (UI) поток. Мы называем это «теневым» потоком, потому что он генерирует теневые узлы.

5) Поскольку только основной поток может отображать что-либо на экране, теневой поток должен отправлять сгенерированный макет в основной поток, и только после этого выполняется визуализация пользовательского интерфейса.

Резюме. Подводя итог, можно сказать, что react native - это язык, который имеет преимущества как Javascript, так и Native. Мы можем разделить эту архитектуру на три блока:

Собственный, JavaScript, Bridge

Где слой Bridge расположен между Native и JavaScript.

Обмен данными осуществляется с помощью Bridge или RCTBridge React Native и Native.