Урок 02

Установка: 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 для тестирования
  • Структура проекта отличается от веба