react-native

React Native 개발 환경 설정: Expo vs CLI, 처음엔 무엇을 선택해야 할까

mirabo01 2026. 1. 13. 09:50

React Native를 시작하려고 하면
가장 먼저 마주치는 선택지가 있다.

Expo로 시작할 것인가,
React Native CLI로 시작할 것인가.

공식 문서를 봐도 둘 다 가능하다고 하고,
검색해보면 의견도 제각각이다.

이 글은
React Native를 처음 시작하는 사람 기준으로
Expo와 CLI의 차이를 정리하고,
어떤 선택이 현실적인지 설명한다.


이 글이 필요한 사람

  • React Native를 이제 막 시작한 경우
  • Expo와 CLI 차이로 고민 중인 경우
  • “실무에서는 뭘 쓰는지” 감이 안 오는 경우

전체 흐름 먼저 정리

React Native 개발 환경은
크게 두 가지 방식으로 나뉜다.

  • Expo 기반 개발
  • React Native CLI 기반 개발

둘은 프로젝트 생성 방식부터 개발 경험까지 다르다.

[이미지: Expo vs React Native CLI 전체 구조 비교]


Expo란 무엇인가

Expo는
React Native 개발을 쉽게 시작할 수 있도록 감싸놓은 도구 모음이다.

복잡한 네이티브 설정을 최대한 숨기고,
JavaScript 코드 작성에만 집중할 수 있게 해준다.

Expo의 핵심 특징

  • Android Studio / Xcode 없이도 시작 가능
  • 개발 서버 실행이 간단함
  • 카메라, 이미지, 센서 등 주요 기능을 기본 제공

실제로 처음 써보면
“이게 진짜 모바일 앱 개발 맞나?” 싶을 정도로 진입 장벽이 낮다.


React Native CLI란 무엇인가

React Native CLI는
가장 기본이 되는 공식 개발 방식이다.

Expo처럼 감싸진 구조가 아니라,
iOS / Android 네이티브 프로젝트를 직접 다룬다.

CLI의 핵심 특징

  • android / ios 폴더가 바로 생성됨
  • 네이티브 코드에 직접 접근 가능
  • 설정이 복잡하지만 자유도가 높음

실무에서
네이티브 기능을 많이 다루는 앱이라면
결국 이 방식으로 가는 경우가 많다.


Expo vs CLI 차이 정리

개발 환경 설정

  • Expo
    • Node.js만 있으면 시작 가능
    • 초기 설정이 거의 없음
  • CLI
    • Node.js, JDK, Android Studio, Xcode 필요
    • 환경 설정에 시간 소요

네이티브 접근

  • Expo
    • 제공되는 API 범위 내에서만 사용
    • 제한된 네이티브 접근
  • CLI
    • 모든 네이티브 기능 직접 사용 가능

초반 학습 난이도

  • Expo: 낮음
  • CLI: 높음

처음에는 “앱 개발”보다
“환경 설정”에서 지치는 경우가 많다.
이 차이가 체감상 가장 크다.


처음 시작한다면 어떤 걸 선택해야 할까

결론부터 말하면
대부분의 입문자는 Expo가 더 낫다.

Expo를 추천하는 경우

  • React Native가 처음인 경우
  • 모바일 앱 구조 자체가 익숙하지 않은 경우
  • 빠르게 화면을 만들어보고 싶은 경우
  • 개인 프로젝트, 학습 목적

CLI를 고려해볼 만한 경우

  • 네이티브 개발 경험이 있는 경우
  • 특정 네이티브 SDK 사용이 필수인 경우
  • 처음부터 실무 환경과 최대한 비슷하게 가고 싶은 경우

실제로는
Expo로 시작 → 필요해지면 CLI로 전환하는 흐름도 많이 사용된다.


Expo 프로젝트 생성해보기

먼저 Node.js가 설치되어 있어야 한다.

node -v

이후 Expo 프로젝트를 생성한다.

npx create-expo-app my-app
cd my-app
npx expo start

이 명령을 실행하면

  • 개발 서버가 실행되고
  • QR 코드가 표시된다

Expo Go 앱으로 QR을 찍으면
실제 스마트폰에서 바로 실행된다.

[이미지: Expo 프로젝트 실행 화면 예시]

실제로 써보면
“환경 설정이 끝났나?” 싶을 정도로 바로 동작한다.


CLI 프로젝트는 언제 시작해도 늦지 않다

중요한 점은 이거다.

Expo로 시작했다고 해서
실무를 못 가는 건 아니다.

React Native의 핵심 개념은 동일하고,
컴포넌트, 상태 관리, 네비게이션은 그대로 이어진다.

환경보다 중요한 건
React Native 자체에 익숙해지는 것이다.


정리

  • Expo는 진입 장벽이 낮고 빠르게 시작할 수 있다
  • CLI는 설정이 복잡하지만 자유도가 높다
  • 처음 시작한다면 Expo가 현실적인 선택이다
  • 필요해지면 CLI로 옮겨도 늦지 않다

다음 글에서는
**Expo 프로젝트 구조와 기본 파일들(App.js부터)**을
하나씩 뜯어보면서 정리해볼 예정이다.