React Native

React Native — это среда выполнения (runtime) и набор инструментов, который связывает ваш JavaScript-код с нативными возможностями операционной системы.

Если проводить аналогию:

  • Ваш JS-код — это чертежи и инструкции.
  • React Native — это прораб, который переводит эти инструкции на язык строителей (iOS и Android).
  • Нативные компоненты — это сами строители, которые возводят здание (интерфейс).

Что именно входит в эту «среду/платформу»:

  1. Движок JavaScript (Hermes или JSC): Внутри каждого приложения React Native «живет» маленький и быстрый браузерный движок (без графической части), который круглосуточно крутит ваш JS-код.
  2. Слой коммуникации (Bridge или JSI): Та самая «переводческая контора», которая гоняет сообщения между JS и Native. 
  3. Библиотека нативных модулей: Огромный набор готового кода на Java/Kotlin и Objective-C/Swift, который умеет создавать кнопки, списки, работать с камерой или GPS по команде из JS.
  4. Yoga Layout Engine: Движок, который берет ваши правила Flexbox из CSS и превращает их в конкретные пиксели и координаты, понятные для мобильных процессоров. 

Главный нюанс

React Native не компилирует JS в Java или Swift. Ваш JS-код остается JS-кодом даже внутри скачанного из App Store приложения. Платформа просто запускает его и позволяет ему «дёргать за ниточки» реальные элементы системы.

А набор инструментов это возможность вызывать любые функции телефона (камеру, GPS, уведомления), потому что React Native предоставляет JS-интерфейсы для обращения к нативному API. Думаю, именно из-за набора инструментов React Native часто называются фреймворком, хотя конечно это не фреймворк.

Аналогия с php-fpm

Если проводить аналогию с php, то React Native это php-fpm, js-код это php-код.


11.09.2021 07:08

Комментарии

Комментариев пока нет.


Copyrights © 2007 - 2026 YaPro.Ru