Mobile/journal
React Native New Architecture в продакшне
React Native New Architecture в продакшне: что мы поняли
← ЖурналMobile7 мин чтения

React Native New Architecture в продакшне: что мы поняли

Команда nordiqdev
студия

В 2023-м команда React Native наконец-то довела New Architecture до того состояния, когда её можно включать без страха. Три наших проекта поехали на Fabric и TurboModules за этот год. Делимся опытом.

Что новая архитектура реально меняет

  • Bridge убран - нативные вызовы синхронные, без сериализации через JSON.
  • Fabric (новый renderer) - UI-операции применяются атомарно, без морганий.
  • TurboModules - нативные модули загружаются лениво, экономия на старте.
  • Hermes по умолчанию - заметно быстрее JSC на cold start.

Что мы измерили

  • Cold start - 1.4с против 2.1с у старой архитектуры.
  • JS-thread → UI-thread латентность - практически 0 на синхронных вызовах.
  • FPS на тяжёлом списке (1000 элементов с медиа) - стабильные 58–60 против 42–48.
  • Вес APK - +1.8 МБ (за счёт нового рантайма), пришлось поджать ассеты.

Что сломалось при миграции

На каждом из трёх проектов нашли минимум одну библиотеку, которая не дружит с New Architecture. Обычно это старые wrapper'ы вокруг нативных API - навигация, видеоплееры, какие-то экзотические modal'ы. Чинится либо обновлением, либо переходом на альтернативу.

Когда мигрировать

  • Новый проект на 0.73+ - включайте сразу.
  • Существующий проект, где есть time на 1–2 спринта на адаптацию - мигрируйте.
  • Проект с большим набором кастомных нативных модулей - закладывайте 2–4 недели на портирование.
  • Проект на старой версии RN (<0.71) - сначала апгрейд, потом миграция, не одновременно.

Что не изменилось

JavaScript-код приложения практически не требует изменений. Пишем на тех же hooks, тем же стилем. Это главная сила обновления - не ломает прикладной код, меняет только то, что под капотом.

Теги
#react native#new architecture#fabric#turbomodules#mobile
Студия nordiqdev

Делаем мобильные приложения, веб-сервисы и AI на заказ

Если задача из текста выглядит знакомой и нужна команда, которая соберёт продукт - расскажите подробнее. Вернёмся в течение 24 часов с разбором.