Wiki · Технологии разработки
Expo
Expo – это открытый фреймворк и набор облачных сервисов для разработки мобильных приложений на React Native: он берёт на себя настройку проекта, доступ к функциям телефона, сборку и обновления. Документация React Native советует начинать новые приложения с такого фреймворка и приводит Expo как основной пример.
Заказчик обычно слышит про Expo в двух ситуациях: подрядчик предлагает сделать на Expo, потому что так быстрее, или, наоборот, говорит, что на Expo задача не решается. Обе фразы стоит уточнить: многие старые ограничения Expo уже сняты.
Из чего состоит Expo
- Expo SDK: готовые модули для камеры, уведомлений, картинок, файлов и других функций телефона.
- Expo Router: навигация по структуре папок, как адреса страниц на сайте.
- Expo Go: приложение-песочница, в котором проект открывают на телефоне без сборки. Сами авторы называют его учебным инструментом.
- Development build: собственная отладочная сборка приложения со всеми нужными нативными модулями.
- EAS (Expo Application Services): облачные сервисы сборки, отправки в магазины и обновлений. Они необязательны, есть бесплатный тариф и платные планы.
Сам фреймворк бесплатный и открыт под лицензией MIT. Компания Expo входит в число учредителей фонда React Foundation, которому с 2026 года принадлежит React Native.
Путь приложения от кода до магазина
- Код пишут на React и TypeScript, а название, иконку и разрешения приложения задают в конфигурации Expo.
- Команда prebuild генерирует из конфигурации нативные проекты для iOS и Android. Нестандартные настройки вносят плагинами конфигурации. Шаг необязательный: нативные проекты можно вести и вручную.
- Сборка идёт в облаке EAS Build, локально той же командой с флагом --local или обычным путём через Android Studio и Xcode.
- Публикация: EAS Submit загружает подписанный файл (.aab для Android, .ipa для iOS) в Google Play Console и App Store Connect. Можно загрузить и вручную.
- Исправления JavaScript-части доставляют через EAS Update или собственный сервер обновлений.
eas build --platform android eas submit --platform ios

Что можно обновить без магазина
Для бизнеса в Expo практичнее всего обновления по воздуху. Исправить опечатку, поменять текст акции или починить ошибку в логике можно без новой сборки и проверки в магазине: пользователи получат изменения при одном из следующих запусков приложения.
У таких обновлений есть граница. Через EAS Update меняются JavaScript, стили и картинки. Новый нативный модуль, изменение разрешений или переход на новую версию Expo SDK требуют новой сборки и публикации через магазин. И сами обновления должны соответствовать правилам App Store и Google Play, документация Expo прямо об этом предупреждает.

Когда Expo хватает, а когда нет
Раньше главным ограничением было то, что в Expo нельзя добавить свой нативный код. Сейчас в development build подключается любая библиотека React Native, а недостающий модуль пишут на Swift и Kotlin через API модулей Expo. Выход из Expo, который раньше называли eject, документация считает устаревшим понятием.
Чего Expo не даёт сам по себе:
- Expo Go не подходит для боевого приложения: вашего нативного кода в нём нет, а версия в App Store может отставать от свежего SDK. В начале мая 2026 года Expo Go для SDK 55 всё ещё не был одобрен Apple.
- Нативные изменения не доставить обновлением по воздуху, только новой версией в магазине.
- Если нужной функции телефона нет ни в SDK, ни в сторонних библиотеках, модуль придётся писать на Swift и Kotlin. Это работа нативного разработчика.
Цена, сборка и обновления приложения
Сколько стоит Expo для коммерческого приложения?
Сам фреймворк ничего не стоит: Expo SDK, инструменты командной строки и Expo Go открыты под лицензией MIT. Платить можно только за облачные сервисы EAS, у которых кроме платных планов есть и бесплатный тариф. Пользоваться ими не обязательно, а условия оплаты из России лучше уточнить у Expo до старта.
Чем Expo отличается от «голого» React Native?
Это не конкуренты: проект на Expo всегда остаётся проектом на React Native. React Native превращает код на React в приложение для iOS и Android, а Expo добавляет поверх него готовые модули, навигацию, сборку и обновления.
Почему Expo Go не годится для боевого приложения?
В Expo Go нет вашего нативного кода, а сборка Expo Go в App Store не всегда успевает за новым SDK: в мае 2026 года Apple ещё не одобрила её для SDK 55. Поэтому разработку переводят на development build как можно раньше.
Как собрать приложение на Expo без облака EAS?
Локально: той же командой eas build с флагом --local или через Android Studio и Xcode, предварительно сгенерировав нативные проекты через prebuild. Облако удобно, но без него можно обойтись.
Какие исправления доходят до пользователей без проверки в магазине?
Через EAS Update без магазина доставляют изменения в JavaScript, стилях и картинках: поправить опечатку, сменить текст акции, починить логику. Пользователь получит их при одном из ближайших запусков приложения. Новый нативный модуль, другие разрешения или переход на свежий SDK так не выпустить, а сами обновления должны укладываться в правила App Store и Google Play.
Как добавить в приложение на Expo свой нативный модуль?
Подключить готовую библиотеку React Native в development build, а если такой нет, написать модуль самим, на Swift для iOS и Kotlin для Android, с помощью Expo Modules API. Ограничение на собственный нативный код есть только у Expo Go.
Что означал eject и почему о нём больше не говорят?
Так называли выход из Expo на обычный проект React Native, когда требовался свой нативный код. Документация Expo теперь считает это понятие устаревшим: нативные проекты генерирует prebuild из конфигурации, а при желании их ведут вручную, не уходя из Expo.
Кому должен принадлежать проект в Expo и как передать его компании?
Компании. Для этого в Expo заводят аккаунт организации, раздают участникам роли и переносят туда проект с личного аккаунта разработчика. Заодно проверьте, что App Store, Google Play и сертификаты подписи тоже оформлены на компанию.
Какую версию Expo SDK ставить осенью 2026 года?
Стабильный SDK 57: он вышел 30 июня 2026 года и работает на React Native 0.86. SDK 58 с React Native 0.88 пока в бете, для боевого приложения лучше дождаться релиза.
Версии и поддержка
Expo SDK выходит вслед за React Native. На начало октября 2026 года актуален SDK 57 (вышел 30 июня 2026 года, внутри React Native 0.86), а SDK 58 с React Native 0.88 с середины сентября проходит бета-тестирование. SDK 54 был последним, где можно было остаться на старой архитектуре React Native. Вывод простой: приложение на Expo нужно обновлять так же регулярно, как на чистом React Native.
Аккаунты, оплата EAS и RuStore
- Аккаунты. Проект в Expo, App Store и Google Play должен принадлежать компании. В Expo для этого есть аккаунты организаций с ролями участников, а проект можно передать с аккаунта на аккаунт.
- Облачные сервисы. Условия оплаты EAS из России уточняйте у Expo. Если облако недоступно, сборку делают локально или на своём сервере сборки.
- Публикация. Одну и ту же Android-сборку можно выложить в Google Play и в RuStore.
Как понять, на чём собрано приложение
В репозитории проекта в файле package.json есть пакет expo, рядом лежит конфигурация app.json или app.config с разделом expo, а если используются облачные сервисы, то и файл eas.json.
Что тормозит выпуск и обновление приложения
- Вести разработку только в Expo Go и откладывать переход на development build до последнего.
- Пытаться выпустить нативное изменение через EAS Update, хотя такие правки доходят до пользователей только новой сборкой.
- Держать проект и сертификаты на личном аккаунте разработчика.
- Пропускать версии SDK, а потом перепрыгивать через несколько сразу.
Приложения на React Native и Expo делаем в составе услуги разработка мобильного приложения, кабинеты клиентов в услуге разработка личного кабинета. Если приложение уже работает на Expo, берём его на доработку и поддержку.
Документация и журнал изменений
- Документация Expo: введение, FAQ, разделы «Continuous Native Generation», «Local builds», «EAS Update», «EAS Submit» и «Account types»
- Журнал изменений Expo: «Expo SDK 57», «Expo SDK 58 Beta is now available», «Expo Go and the App Store in May 2026»
- Документация React Native: раздел «Get Started»
- Блог React Native: релиз 0.82
См. также: Мобильная версия сайта, Юзабилити, Мобильное приложение, React.
Остались вопросы по теме «Expo»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеСергей ЧерняковWeb-разработчикНад статьёй работали
Услуги
Услуги по теме
Посчитайте стоимость проекта за 2 минуты
Калькулятор соберёт смету по нашим тарифам: сайт, дизайн, интеграции и поддержка.
