Что происходит при сборке
Сборка — это процесс преобразования исходного кода 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.