← Все статьи

React Native в 2026: New Architecture, нативный код и границы для ИИ

Разбор реального приложения: Fabric и JSI, где выполнять работу, bare vs Expo, клавиатура на сложных формах и чем ИИ реально помогает в RN.

React Native в 2026: New Architecture, нативный код и границы для ИИ
Содержание

Коротко

Формула «один код для 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 и разборе падений сборки, но плохо угадывает архитектурные границы и сценарии вроде клавиатуры, если смотрит только на поверхность.

На практике

  1. Делите ответственность: JS — продукт и сеть, натив — системные API с узким контрактом.
  2. Не считайте New Architecture заменой профилированию релизной сборки.
  3. Для сложных форм рассмотрите изолированный ввод (модалка), а не бесконечные keyboardVerticalOffset.
  4. Ведите матрицу совместимости RN / React / Reanimated / SDK и обновляйте слоями.
  5. Давайте ИИ задачи на симметрию реализаций и патчи, а границы слоёв оставляйте людям.

Итог

React Native остаётся рабочим выбором, когда общая логика большая, а натив — локальный и контрактный. Успех в 2026 измеряется синхронными релизами и контролируемыми различиями платформ, а не отсутствием Kotlin и Swift в репозитории.