30.09.2026 721 материалов

Expo SDK 58 в бета-версии: подготовка к iOS 27, ускорение сборок и интеграция с Siri

Expo выпустила бета-версию SDK 58 с поддержкой iOS 27, экспериментальным ускорителем сборки на Rust и новыми возможностями для интеграции с Siri. Обновление также включает значительные улучшения производительности и изменения в API.

Expo SDK 58 в бета-версии: подготовка к iOS 27, ускорение сборок и интеграция с Siri

Обновите симуляторы до iOS 27 — и половина ваших приложений начнёт вести себя странно. SDK 58 создан именно для этого: он не просто добавляет поддержку новой ОС, а перестраивает фундамент сборки и навигации, чтобы разработчики не тратили недели на миграцию.

Команда Expo открыла публичное бета-тестирование своей 58-й версии SDK. Это не точечное обновление — это масштабная работа, затрагивающая всё: от того, как приложение запускается на iPhone, до того, как быстро оно собирается на серверах. Бета будет длиться три-четыре недели, и в это время разработчики могут проверить свои проекты и сообщить о проблемах до стабильного релиза.

Главный удар: iOS 27 и новый жизненный цикл

iOS 27 принудительно переводит все iPhone-приложения на scene-based жизненный цикл. Если раньше ваше приложение жило в одном окне, то теперь система ожидает, что оно готово работать с несколькими сценами, и может менять его размер. SDK 58 перестраивает Expo под эту реальность.

Ключевые изменения:

  • Приложения теперь запускаются через новую архитектуру сцен. Если вы кастомизировали AppDelegate.swift, перед обновлением придётся изучить миграционный гайд — старые колбэки деливерятся иначе.
  • Пакеты Expo перестали читать геометрию из UIScreen.main и перешли на scene-aware хелперы.
  • Поведение requireFullScreen изменилось: на iOS 27 оно больше не отключает изменение размера окна приложения. Аналогичные изменения коснулись и блокировки ориентации экрана.

Сюрпризы гарантированы всем, кто не пересобрал приложение под новый SDK. Expo советует не откладывать тестирование.

Ускорение в два раза: магия Rust и новые Expo Modules

Пожалуй, самая громкая инженерная новость — экспериментальный трансформер модулей под названием «Noxcturnal», написанный на языке Rust. Он призван ускорить «холодную» сборку проекта (когда кэш Metro пуст). На тестовом приложении из 5500 файлов время сборки упало с 5.26 до 2.46 секунд. Включается флагом в конфиге, но подходит не для всех проектов — пока обходит стороной проекты с кастомными Babel-плагинами.

Не менее важны улучшения в самом ядре модулей:

  • expo-modules-core теперь поставляется с прекомпилированными нативными библиотеками для Android. Чистая сборка дебаг-версии стала быстрее примерно вдвое.
  • Появилась бета-версия Expo Modules 2.0 — нового подхода к написанию нативных модулей. Вместо DSL теперь используется аннотация обычных классов на Swift или Kotlin. Это не только проще для понимания, но и быстрее: синхронные вызовы работают до 5.6 раз быстрее старой версии на iOS.

Для конечного пользователя это значит более плавные анимации и отзывчивый интерфейс. Для разработчика — меньше кофе во время ожидания сборки.

Ваше приложение теперь может разговаривать с Siri

Новый пакет expo-app-intents открывает интеграцию с экосистемой Apple: Siri, Шорткаты, Spotlight и, в перспективе, Apple Intelligence. Суть проста: вы описываете намерения (intents) и сущности на Swift, а вся логика обработки остаётся на JavaScript.

Пример из документации: приложение для онбординга может позволить пользователю попросить Siri отметить задачу выполненной. Siri покажет список задач из вашего приложения, пользователь выберет нужную, и ваш JS-код выполнит действие, даже не выводя приложение на передний план. Библиотека пока в альфа-версии, но направление очень перспективное.

Новые инструменты для повседневной работы

Device Hub в браузере. Xcode 27 заменяет привычный Simulator.app на Device Hub. Команда Expo пошла дальше и создала плагин expo-device-hub, который запускает симуляторы iOS и эмуляторы Android прямо в браузере с трансляцией экрана, управлением и графикой нагрузки. Это удобно, особенно если у вас нет локально установленного Xcode или Android Studio.

Expo Router стабилизировался. Все ключевые функции маршрутизатора — загрузчики данных, SSR, нативные табы, тулбары — вышли из экспериментального статуса. Ядро было переписано для детерминированности состояния навигации. Это серьёзное обновление, которое может затронуть кастомные навигаторы в ваших приложениях.

Интеграция с PostHog в одну команду. Запустите eas integrations:posthog:connect, и CLI сам создаст проект, установит SDK и пропишет переменные окружения. Каждое событие аналитики будет автоматически связано с конкретным билдом и обновлением в Expo.

Виджеты на Android и умные уведомления

Пакет expo-widgets получил полноценную поддержку Android. Виджеты теперь запускают свой собственный JS-бандл на выделенном рантайме Hermes. На iOS, в свою очередь, появились улучшения для Live Activities.

Значительные доработки коснулись и expo-notifications. Теперь библиотека может сосуществовать с другими обработчиками уведомлений на iOS, поддерживает группировку по threadIdentifier и добавляет опцию alarmClock на Android для критически важных напоминаний.

Важные изменения, которые нельзя игнорировать

Как всегда, обновление SDK несёт с собой breaking changes. Самое масштабное — включение Strict TypeScript API по умолчанию в React Native 0.87, который входит в SDK 58. Глубокие импорты из внутренностей react-native теперь вызывают ошибки типов.

Другие значимые изменения:

  • npx expo prebuild теперь генерирует SceneDelegate.swift.
  • Релизные сборки для Android по умолчанию включают R8 (оптимизатор и минификатор), что уменьшит размер APK.
  • Пакет expo-file-system меняет API: File.write() стал асинхронным.
  • expo-sqlite полностью отказался от поддержки libSQL.

Полный список изменений и миграционный гайд уже доступны в документации. Для существующих проектов команда рекомендует использовать автоматический апгрейд-скилл или вручную выполнить npx expo install expo@next --fix.

SDK 58 — это не просто набор новых функций. Это попытка Expo упреждать проблемы, которые принесут обновления операционных систем, и одновременно ускорять сам процесс разработки. Бета открыта, и у разработчиков есть несколько недель, чтобы подготовить свои проекты к будущему, в котором приложения должны быть гибкими, быстрыми и интегрированными с голосовым ассистентом.