Установка: Expo и React Native CLI
Два способа начать проект. Выбор зависит от задачи.
Требования
- Node.js 20+
- Expo Go — приложение для тестирования на телефоне (опционально)
- Xcode — для сборки под iOS (только macOS)
- Android Studio — для сборки под Android
Expo
Expo — платформа, которая упрощает разработку, сборку и публикацию. Рекомендуется для большинства проектов.
Создание
npx create-expo-app@latest my-app
cd my-app
npx expo start
Откроется QR-код. Установи Expo Go на телефон, отсканируй — приложение запустится.
Плюсы
- Не нужен Xcode/Android Studio для начала
- Множество готовых модулей (камера, уведомления, геолокация)
- EAS Build — сборка в облаке
- EAS Update — OTA-обновления
- Работает на всех платформах (iOS, Android, web)
Минусы
- Не все нативные модули поддерживаются
- Для кастомных нативных модулей нужен dev client
React Native CLI
Голый React Native. Полный контроль, но больше настройки.
Создание
npx @react-native-community/cli@latest init MyApp
cd MyApp
npx react-native run-ios # macOS
npx react-native run-android
Плюсы
- Полный контроль над нативным кодом
- Любые нативные модули
- Подходит для сложных проектов
Минусы
- Требует Xcode и Android Studio
- Настройка сложнее
- Нет OTA-обновлений из коробки
Что выбрать
Expo — для 90% проектов: стартапы, MVP, продуктовые приложения. В 2026 году Expo официально рекомендован командой React Native.
CLI — если нужен полный контроль над нативным кодом или специфические модули, которых нет в Expo.
Структура проекта Expo
my-app/
├── app/ # маршруты (expo-router)
├── assets/ # картинки, шрифты
├── components/ # компоненты
├── constants/ # константы
├── hooks/ # хуки
├── app.json # конфиг Expo
├── package.json
└── tsconfig.json
Структура проекта CLI
MyApp/
├── android/ # нативный код Android
├── ios/ # нативный код iOS
├── src/ # код приложения
├── App.tsx # корневой компонент
├── index.js # точка входа
└── package.json
Полезные команды
npx expo start # запуск dev-сервера
npx expo start --clear # очистка кеша
npx expo run:ios # сборка iOS
npx expo run:android # сборка Android
Если ты уже знаешь React
Создание проекта в вебе — npm create vite. В React Native — npx create-expo-app. Логика та же, отличается инструмент.
Итоги
- Expo — рекомендуемый способ
- CLI — для полного контроля
- Expo Go для тестирования
- Структура проекта отличается от веба