~/VibeHandbook

Приложения / Mobile

expo.dev

Expo

Что это

Expo — это фреймворк и платформа с открытым исходным кодом, надстроенные над React Native, чтобы сделать сборку, запуск и выпуск мобильных приложений намного проще. Он включает в себя курируемый набор нативных модулей, инструмент командной строки и облачные сервисы (EAS) для сборки и публикации приложений без самостоятельного управления Xcode и Android Studio. Приложение Expo Go позволяет мгновенно посмотреть проект на реальном устройстве, отсканировав QR-код.

Сильные стороны

  • Убирает большинство сложностей нативной сборки — для типичных случаев не нужно трогать Xcode/Gradle.
  • Большая библиотека готовых нативных API (камера, уведомления, геолокация и т. д.).
  • EAS Build и EAS Submit берут на себя облачные сборки и публикацию в магазинах.
  • Обновления «по воздуху» позволяют выкатывать исправления на JavaScript без полной проверки в магазине.
  • Файловая маршрутизация (Expo Router) и отличная поддержка TypeScript.

Компромиссы

  • Вы привязаны к ритму выпусков Expo и к поддерживаемому набору нативных модулей.
  • Глубоко кастомный нативный код может потребовать «prebuild» и дополнительной настройки.
  • Размер приложения может быть больше, а некоторые продвинутые нативные интеграции требуют дополнительной работы.
  • У облачных сервисов сборки есть лимиты использования на бесплатных тарифах.

Лучше всего подходит для

Expo — правильный выбор по умолчанию для большинства проектов на React Native, особенно для небольших команд и сольных разработчиков, которые хотят быстро выпускать приложения в оба магазина, не становясь экспертами по нативной сборке.

Соответствие vibe coding

Expo превосходно подходит для сборки с помощью ИИ: CLI создаёт работающее приложение одной командой, Expo Go даёт мгновенный предпросмотр на устройстве, а встроенные API означают, что ассистенту редко приходится подключать хрупкий нативный код. Попросите модель использовать Expo Router для навигации, TypeScript для безопасности и собственные модули Expo (например, expo-camera) прежде, чем сторонние нативные пакеты. Укажите целевые магазины, чтобы она правильно настроила EAS.

npx create-expo-app@latest my-app
cd my-app
npx expo start          # отсканируйте QR в Expo Go
npx eas build --platform all   # облачная сборка для обоих магазинов