Что происходит при сборке

Сборка — это процесс преобразования исходного кода React Native-приложения в готовый нативный установочный файл. Хотя вы пишете на JavaScript, конечный пользователь устанавливает приложение, которое выглядит и работает как обычное iOS- или Android-приложение. Вот что происходит «под капотом» при запуске eas build.

Код упаковывается в нативный контейнер

Expo генерирует минимальные нативные проекты для iOS и Android (на основе шаблонов). В эти проекты внедряется ваш JavaScript-код, а также все зависимости из package.json. Получается гибрид: нативная оболочка + интерпретатор JavaScript (Hermes или JSC).

Все JS-файлы компилируются в бинарник

Во время сборки:

  • Metro Bundler объединяет все ваши .js и .ts файлы в один бандл (index.js).
  • Бандл минифицируется и оптимизируется.
  • На Android он может быть скомпилирован в байт-код Hermes (если включено).
  • Этот бандл копируется внутрь APK/IPA и становится частью ресурсов приложения.

В результате приложение больше не зависит от локального сервера — весь код уже внутри.

Приложение становится независимым от Expo CLI

После сборки вы получаете:

  • .apk — установочный файл для Android.
  • .ipa — установочный файл для iOS (требует подписи Apple Developer аккаунтом).

Эти файлы можно:

  • Установить напрямую на устройство (APK).
  • Загрузить в Google Play или App Store.
  • Распространять через TestFlight или Firebase App Distribution.

Важно: такое приложение больше не использует Expo Go. Оно полностью автономно и содержит только ваш код и необходимые части Expo SDK.