📱React Native

Cross-platform (iOS/Android) based on React (Facebook, 2015). JavaScript → native components (bridge). Hot reload, code reuse from the web. Performance lower than native (bridge = bottleneck). Used by: Instagram, Airbnb (dropped in 2018), Discord. Expo: framework on top of RN (simplifies setup)

Article body and graph labels may still appear in Russian where English translations have not been added yet.
📖4 min read📊Level 6🗺️3 subtopics📅April 16, 2026

Loading map...

Один код — две платформы

Нативная разработка под iOS и Android требует двух команд, двух языков, двух кодовых баз. Это дорого и медленно. React Native решает эту проблему: один JavaScript-код компилируется в нативные компоненты обеих платформ.

Создан Facebook в 2015 году. Принцип: «Learn once, write anywhere» — выучи раз (React), пиши для любой платформы.

Как это работает

React Native использует JavaScript для логики приложения, но рендерит настоящие нативные компоненты — не веб-виды. Кнопка в React Native — это UIButton на iOS и Button на Android. Это главное отличие от веб-оберток (Cordova/PhoneGap), которые показывают веб-страницу внутри приложения.

Традиционно использовался «мост» (Bridge) для связи JavaScript и нативного кода. Это было узким местом производительности. Новая архитектура (JSI, Fabric) убрала мост, значительно ускорив взаимодействие.

Компоненты

React Native предоставляет базовые кроссплатформенные компоненты: View (аналог div), Text, Image, TextInput, ScrollView, FlatList. Стилизация — через StyleSheet, похожий на CSS, но с camelCase.

Expo

Expo — инструментарий и платформа над React Native. Ускоряет начало разработки: не нужно настраивать нативные инструменты (Xcode, Android Studio). Expo Go позволяет тестировать приложение на телефоне мгновенно, сканировав QR-код. Минус: ограниченный доступ к нативным API без «ejecting».

Когда выбирать React Native

React Native оптимален, если: команда знает JavaScript/React, нужно быстро выйти на обе платформы, приложение не требует максимальной производительности (тяжёлая графика, AR). Для требовательных приложений лучше нативная разработка или Flutter.

Часто задаваемые вопросы

Cordova показывает веб-страницу внутри приложения; React Native рендерит настоящие нативные компоненты платформы — производительность значительно выше.