React Native 0.84 выпущен — Hermes V1 становится движком по умолчанию, предсобранные iOS‑бинарники и удаление Legacy‑архитектуры

ReactNode.jsDevOps

React Native 0.84 (стабильная версия) вышел 11 февраля 2026 года. Это выпуск платформы с практичными, высокоэффективными изменениями для мобильной разработки и команд полного стека: Hermes V1 теперь является движком JavaScript по умолчанию, сборки iOS по умолчанию используют предсобранные бинарники React Native, код Legacy Architecture удалён из распространяемых сборок, а минимальная версия Node.js повышена до Node 22.11+. Прочитайте примечания к выпуску перед обновлением — этот релиз влияет на конвейеры сборки, нативные модули и артефакты CI.

Почему это важно (кратко)

  • По умолчанию Hermes V1: все проекты, использующие встроенный рантайм Hermes, автоматически получат VM/компилятор Hermes V1, что улучшит холодные старты, расход памяти и производительность во время выполнения без изменений кода — но может изменить семантику движка и характеристики тайминга нативного моста.
  • Предсобранные бинарники iOS по умолчанию: чистые сборки iOS становятся значительно быстрее, потому что ядро RN загружается в виде предсобранных .xcframework, а не компилируется из исходников для каждой сборки. Это влияет на инструменты CI и стратегии распространения бинарников.
  • Legacy‑архитектура удалена: пути к коду Legacy Architecture физически исключены из поставляемых сборок iOS/Android; проекты, зависящие от устаревших внутренних API, должны пересобрать из исходников или адаптироваться.
  • Потребование к Node: инструменты и CI должны использовать Node >= 22.11; более старые версии Node сломают React Native CLI и связанные скрипты.

Неотложный практический чек‑лист для команд полного стека

  1. Создайте канареечную ветку и запустите полную CI‑матрицу на react‑[email protected] перед выпуском в продакшн:
    • Пересоберите все нативные модули и опубликуйте/обновите предсобранные артефакты для ABI Node/V8/Hermes, на которые вы полагаетесь.
  2. CI / Среды разработчика:
    • Обновите образы CI и локальные окружения до Node 22.11+ (используйте nvm/fnm для фиксации версий).
    • Если вы используете предсобранные iOS‑бинарники в CI, проверьте шаг pod install и кеширование артефактов (RCT_USE_PREBUILT_RNCORE).
  3. Нативные модули и предсобранные бинарники:
    • Пересоберите и протестируйте каждый нативный аддон (C++/NDK, нативный код CocoaPods) с RN 0.84. Предсобранные iOS‑фреймворки меняют способ связывания нативного кода — публикуйте обновлённые предсобранные бинарники, если вы распространяете их.
  4. Выход и пути совместимости:
    • Чтобы отказаться от Hermes V1, соберите RN из исходников или зафиксируйте компилятор Hermes устаревшей версии через переопределения менеджера пакетов и используйте на платформе соответствующие флаги (примеры — в примечаниях к выпуску).
    • Чтобы отключить предсобранные iOS‑бинарники, установите RCT_USE_PREBUILT_RNCORE=0 во время pod install.
    • Чтобы снова включить Legacy Architecture (если нужно), необходимо собрать из исходников и задать RCT_REMOVE_LEGACY_ARCH=0 и связанные флаги.
  5. Тестирование на регрессии поведения:
    • В первую очередь сфокусируйтесь на интеграционных тестах для мостов (bridging), кода, чувствительного к времени, анимаций и любых нативных API, ранее доступных через устаревшие внутренности.
    • Проверьте конвейеры падений (crash) и телеметрию на предмет новых сигнатур ошибок от обновлённого рантайма V8/Hermes и инструментария Node.
  6. Инструменты и линтеры:
    • Обновите конфигурацию ESLint, если вы полагаетесь на рекомендуемые инструменты RN (RN 0.84 поддерживает ESLint v9 с плоской конфигурацией).
    • Убедитесь в корректности любых скриптов сборки или бандлеров, которые предполагают более старый Node или устаревшие внутренности RN.
  7. Доступность и особенности платформы:
    • Подтвердите поведение доступности приложения, особенно на Android, где исправлены проблемы доступности переработанных списков.
    • Проверьте обработку изображений, если вы используете HEIC/HEIF‑потоки.

Миграционные заметки (практично)

  • Этапное развёртывание: внедрите RN 0.84 в стадию тестирования (внутреннюю бета‑версию) и распространяйте постепенно; внимательно отслеживайте падения и телеметрию производительности в первые 24–72 часа.
  • Нативные предсобранные сборки: если вы поставляете предсобранные нативные бинарники клиентам или downstream‑командам, согласуйте одновременный выпуск обновлённых артефактов, рассчитанных на RN 0.84, чтобы избежать несоответствий установщика и рантайма.
  • Обратная совместимость: проекты, уже использующие Hermes и Новую Архитектуру, должны увидеть минимальные функциональные изменения, но проверьте сторонние нативные библиотеки, которые взаимодействуют с низкоуровневым API моста.

Итог React Native 0.84 — значимое обновление платформы: оно даёт большинству приложений немедленное улучшение производительности и опыта разработки (Hermes V1 + более быстрые сборки iOS), но требует аккуратной настройки CI, нативных модулей и инструментов Node. Рассматривайте это как обновление платформы: ступенчатое развёртывание, пересборка нативных артефактов, обновление Node в CI и запуск целевой матрицы тестов, охватывающей нативные мосты и чувствительные к времени потоки.

Источник: заметки к выпуску React Native 0.84. (reactnative.dev)

Источник

Читать дальше