Почти три из четырех настольных компьютеров в мире — это не Mac. С помощью Expo вы уже могли собирать iOS-приложения на любом из них благодаря EAS Build. Но в эпоху агентской разработки мы столкнулись с еще одним узким местом: агентам требуется мгновенная обратная связь для непрерывной итерации кода. Симулятор iOS поставляется только с Xcode, а Xcode работает только на macOS, поэтому без Mac каждую вашу правку или правку вашего агента приходится проверять на физическом iPhone. EAS Simulator убирает это требование.
С функциональной точки зрения EAS Simulator запускает сеанс симулятора в облаке и транслирует его в вкладку браузера. То, что открывает этот сервис, изменит подход к созданию мобильного ПО: любой ноутбук становится машиной для разработки под iOS, любой кодинг-агент получает реальное устройство для проверки своей работы, а любой человек с URL-адресом может управлять тем же телефоном вместе с вами.
Кит Курак (Keith Kurak), один из наших инженеров, протестировал EAS Simulator там, где никто из нас еще не пробовал: симулятор iOS с функцией Fast Refresh на ноутбуке Windows на базе ARM. В этом посте рассказывается о том, что показал Кит, и о пяти возможностях, которые я используете для разработки приложений.
Предпочитаете видео? Короткая версия здесь:
Что показал Кит: разработка под iOS с компьютера на Windows
Вот что опубликовал Кит:
Windows на ARM не может запускать Android Studio, а Microsoft прекратила поддержку подсистемы Windows для Android на Snapdragon X. На том ноутбуке не было никаких симуляторов или эмуляторов. Теперь на нем есть iPhone во вкладке браузера, и изменения в VS Code попадают туда через Fast Refresh.
Все, что вам нужно — это две команды. Вам нужна девелоперская сборка, нацеленная на симулятор, поскольку релизная сборка не поддерживает горячую перезагрузку: ее JavaScript фиксируется во время сборки. Затем запустите Metro с туннелем и начните сеанс, указав на него:
Команда выдает вам webPreviewUrl. Откройте его, и ваше приложение запустится на облачном iPhone. Отредактируйте файл, сохраните его, и изменение появится на устройстве. Кит запустил это внутри WSL. Полное руководство, включая вариант с Expo Go, находится в документации по запуску и управлению (Run and control).
Уже одно это меняет то, что вы можете создавать с машины на Windows или Linux. Но вот еще пять вещей, которые умеет EAS Simulator и о которых вам следует знать:
1. Тестирование приложения камеры на симуляторе
Я создаю приложение камеры под названием OpenMulticam. Оно записывает видео с нескольких камер iPhone одновременно, и его тестирование всегда требовало физического устройства, поскольку в симуляторе никогда не было камеры. Веб-превью EAS Simulator это меняет. В панели инструментов есть раздел «Камера», и при его включении приложение получает симулированный видеопоток с камеры.
Нажмите запись, стоп и откройте отснятый материал. Весь конвейер захвата камеры работает на устройстве в облаке, а вы управляете им из вкладки браузера.
Две вещи, о которых стоит помнить при тестировании. Источник по умолчанию — анимированный тестовый паттерн, но вы также можете перетащить видео или фото с вашего компьютера в панель и использовать их в качестве потока. Чтобы внедрение работало, ваше приложение должно использовать стандартные API захвата AVFoundation, как это делает большинство библиотек камер.
Одно ограничение, о котором стоит знать: на данный момент панель камеры — это то, на что вы кликаете в браузере. Она еще не доступна агентам, поэтому агент не может сам запустить камеру. Все остальное в этом посте агент делать умеет.
2. Позвольте вашему агенту самостоятельно проверять свою работу
Облачный агент или ваш локальный агент разработки может управлять симулятором через agent-device. Argent тоже работает, как и функция управления компьютером (computer use), если вы ее предпочитаете.
Самый быстрый способ настроить это — использовать навык (skill) eas-simulator. Установите его в Claude Code, Cursor или Codex, скажите агенту, что нужно проверить, и он сделает все остальное: соберет приложение, запустит облачный сеанс, пройдет по экранам и пришлет скриншоты. Когда все будет готово, вы просмотрите запись сеанса вместо того, чтобы самостоятельно переключать ветку и тестировать.
3. Делитесь телефоном с вашей командой по URL
Превью представляет собой веб-сайт. Отправьте URL коллеге, и он увидит, над чем вы работаете в реальном времени, а также сможет взаимодействовать с симулятором. Вы, ваши коллеги, ваши облачные агенты и локальные агенты — все могут работать на одном устройстве одновременно.
Если вам нужен только общий просмотр без управления агентом, для этого есть специальный тип сеанса:
В превью также есть кнопка полноэкранного режима, которая убирает все, кроме самого устройства.
4. Повторяйте любой сеанс, включая действия вашего агента
Каждый сеанс отображается на странице вашего проекта на expo.dev.
Откройте завершенный сеанс, и вы получите полное видео происходящего на устройстве плюс таймлайн каждого взаимодействия. В сеансе из видео вы можете наблюдать, как агент прокликивает приложение, тестируя запрошенные мной функции, со скриншотами на каждом шаге.
Я начал использовать эти ссылки в качестве доказательств в пулл-реквестах. «Вот баг, вот фикс, вот запись сеанса» — это гораздо лучший отзыв, чем «поверьте на слово, я это запускал».
5. Используйте приложение с любого фреймворка
Вашему приложению не обязательно использовать Expo или React Native. Устройство запускается пустым, и вы можете загрузить на него любую сборку iOS Simulator или APK для Android: SwiftUI, Kotlin, Flutter, все, что работает на симуляторе.
С чего начать
EAS Simulator находится в режиме предварительного просмотра с ограниченным доступом, и мы открываем его для пользователей из листа ожидания партиями.
- Присоединяйтесь к листу ожидания на expo.dev/services/simulators.
- Прочитайте документацию. Раздел «Начало работы» (Get started) охватывает типы сеансов, а «Запуск и управление приложением» (Run and control an app) содержит рецепт Fast Refresh из этого поста.
- Дайте его своему агенту. Установите навык eas-simulator и попросите его проверить что-либо на реальной среде выполнения устройства.
Если вам нужно полное руководство по настройке этого на вашем собственном компьютере, дайте нам знать. Нам также любопытно, как бы вы использовали облачный симулятор. Поделитесь своими сценариями использования в канале #eas-simulator нашего сообщества в Discord.
Часто задаваемые вопросы
Что такое EAS Simulator? Это сервис от Expo, который запускает удаленный симулятор iOS или эмулятор Android на инфраструктуре EAS. Вы управляете им из CLI, через REST API, с помощью кодинг-агента или браузера. Поддерживаемые сеансы iOS включают интерактивное веб-превью. Сервис находится в режиме превью с ограниченным доступом.
Можно ли собирать iOS-приложения на Windows с помощью Expo? Да. EAS Build компилирует приложение на инфраструктуре Mac от Expo, а EAS Simulator также запускает там симулятор iOS. Девелоперская сборка, подключенная к Metro через туннель, обеспечивает Fast Refresh в браузере. CLI работает в WSL.
Можно ли тестировать функции камеры в симуляторе iOS? С веб-превью EAS Simulator — да. Раздел «Камера» в панели инструментов предоставляет приложению симулированный поток: анимированный тестовый паттерн по умолчанию или перетащенные вами фото или видео. Приложение должно использовать стандартные API захвата AVFoundation.
Может ли ИИ-агент использовать EAS Simulator? Да. Агенты управляют устройством через agent-device или Argent. Навык eas-simulator обучает Claude Code, Cursor и Codex всему циклу: проверка доступа, сборка, сеанс, управление устройством, сбор доказательств, очистка.
Должно ли мое приложение использовать Expo или React Native? Нет. Подойдет любая сборка iOS Simulator или Android APK.
Можете ли вы поделиться сеансом EAS Simulator с кем-нибудь? Да. Веб-превью представляет собой URL-адрес. Любой, у кого он есть, может одновременно смотреть на то же устройство и взаимодействовать с ним. Используйте тип сеанса только с веб-превью, если вам не требуется управление агентом.
Полезные ссылки
- Документация по EAS Simulator: https://docs.expo.dev/preview/eas-simulator/introduction/
- Список ожидания: https://expo.dev/services/simulators
- Запуск приложения и управление им: https://docs.expo.dev/preview/eas-simulator/run-and-control/
- Навык eas-simulator: https://github.com/expo/skills/tree/main/plugins/expo/skills/eas-simulator
- Устройство агента: https://docs.expo.dev/agents/agent-device/
- serve-sim, инструмент, лежащий в основе веб-превью: https://github.com/expo/serve-sim
- Публикация Кита: https://x.com/llamaluvr/status/2094414188181332015
- OpenMulticam: https://github.com/rami-maalouf/open-multicam










