Ответ вслух Senior Expo и bare обновлено

Обновление Expo SDK и React Native

Вопрос

Расскажите, как вы обновляете Expo SDK в большом приложении и как снижаете риски.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Обновляюсь регулярно, вскоре после выхода SDK, чтобы скачок был маленьким. Читаю заметки о выпуске, отдельно смотрю ломающие изменения.

Что должно прозвучать в ответе

  • Регулярные обновления, чтобы не отставать больше чем на одну-две версии

  • Заметки о выпуске и список ломающих изменений

  • `npx expo install --fix`, проверка совместимости сторонних библиотек с новой архитектурой

  • Пересборка development build, полный прогон тестов и ручной смоук

  • Новый `runtimeVersion`: старые сборки не получат несовместимые OTA

  • Поэтапная выкладка и мониторинг падений

Что могут спросить следом

  • Что делать с библиотекой, которая не обновилась?
  • Почему нельзя выпустить обновление SDK только через OTA?

Разбор

Образцовый ответ: «Обновляюсь регулярно, вскоре после выхода SDK, чтобы скачок был маленьким. Читаю заметки о выпуске, отдельно смотрю ломающие изменения. В ветке обновляю expo и выполняю npx expo install --fix, затем проверяю сторонние библиотеки с нативным кодом: поддерживают ли новую версию React Native и новую архитектуру. Если библиотека отстала, ищу форк, замену или временно патчу. Пересобираю development build, гоняю тесты и E2E, проверяю ключевые сценарии руками на обеих платформах. Так как меняется нативная часть, у сборки новый runtimeVersion, и OTA для старых сборок с новым кодом не уйдут. Выпускаю через магазины поэтапно и слежу за падениями»

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме