Содержание
Коротко
Формула «один код для iOS и Android» в 2026 звучит слишком просто. На Хабре — разбор крупного приложения на React Native: общий слой на TypeScript, New Architecture без устаревшего Bridge, нативные куски там, где нужны системные API, и честные границы для помощи ИИ.
Что произошло
Команда выбрала RN не чтобы «написать один раз и забыть платформы», а чтобы держать общую продуктовую логику при синхронных релизах на обе ОС. Рядом с тысячей TS/TSX-файлов живут Kotlin и Swift: геопозиция, уведомления push, биометрия, виджеты, медиа.
New Architecture уже не эксперимент: JSI вместо старого моста, Fabric, TurboModules, Codegen; в 0.84 убрали устаревшую архитектуру, Hermes V1 по умолчанию. Но включённый рендерер сам по себе не ускоряет приложение — длинные задачи в JS и лишние перерисовки никуда не делись.
Главный вопрос автора — не «на чём написано», а где выполняется: JS-поток для логики, нативный UI-поток для кадров, worklets для жестов, нативные модули для фона. Наличие Kotlin/Swift не провал кроссплатформы, если продуктовые правила не дублируются. Expo против сборки bare — выбор объёма инфраструктуры, которую команда готова обслуживать.
Отдельный кейс — клавиатура на сложных формах: вместо вечной борьбы с KeyboardAvoidingView поле открывает модалку с простой вёрсткой. Плюс предупреждение про разные системные клавиатуры (IME) на Android и обязательный режим «от края до края».
Почему это важно
Мобильный RN в 2026 — это платформенная инженерия с общим продуктовым ядром, а не «React в телефоне». Обновление версии — маленькая миграция Gradle/Xcode/патчей. ИИ полезен в симметрии Android/iOS, Codegen и разборе падений сборки, но плохо угадывает архитектурные границы и сценарии вроде клавиатуры, если смотрит только на поверхность.
На практике
- Делите ответственность: JS — продукт и сеть, натив — системные API с узким контрактом.
- Не считайте
New Architectureзаменой профилированию релизной сборки. - Для сложных форм рассмотрите изолированный ввод (модалка), а не бесконечные
keyboardVerticalOffset. - Ведите матрицу совместимости RN / React /
Reanimated/ SDK и обновляйте слоями. - Давайте ИИ задачи на симметрию реализаций и патчи, а границы слоёв оставляйте людям.
Итог
React Native остаётся рабочим выбором, когда общая логика большая, а натив — локальный и контрактный. Успех в 2026 измеряется синхронными релизами и контролируемыми различиями платформ, а не отсутствием Kotlin и Swift в репозитории.

