Expo
첫 개발이라면 가장 쉬운 방법은
Expo CLI
를 이용하는 것이다.Expo는 React Native를 중심으로 만들어진 툴 세트.
⇒ 몇 분 안에 React Native 앱을 만들 수 있다.
필요한 건 최신버전의 Node.js와 phone 혹은 emulator만 있으면 된다.
Snack
어떤 툴도 설치하기 전에 웹 브라우저 상에서 React Native 코드를 테스트 해보고 싶다면
snack
을 이용하자.
Expo CLI Quickstart
Node 12 LTS 혹은 상위버전이 설치된 상태라고 가정하면, npm 명령어 한줄로 Expo CLI 설치 가능.
$ npm install -g expo-cli
새로운 React Native project를 생성 및 열어보자.
(앱 이름을 AwesomeProject라고 가정)
#새로운 React Native project 생성하기 $ expo init AwesomeProject #expo 프로젝트 열기 $ cd AwesomeProject #expo 프로젝트 경로로 이동을 먼저 해야함. $ npm start # expo init 할 때 설치 패키지 이름 나옴. (아니면 그냥 expo start 해도 됨) # yarn start # npm start # expo start
expo init 할 때 어떤 패키지매니저로 설치했는지 나온다.
참고해서 start 하면 됨. (나는 yarn으로 설치됨)


모바일 기기에 Expo Client 설치하기
React Native로 작성한 앱이 실제 모바일 디바이스에 어떻게 실행될 지 바로 확인할 수 있게 해주는 앱이다.
Expo Client
를 모바일 기기에 설치한다. (android, iOS)
- 개발중인 컴퓨터와 모바일 기기를 동일한 와이파이에 둔다.
QRCode
를 스캔해서 바로 연동한다.안드로이드
는
Expo Client
에 Scan QR Code 기능 있음iOS
는 QR코드 스캐너가 내장되어 있어일반 Camera 앱
으로 갖다 대면 됨.
Android
- Expo Client
iOS
- 기본카메라 앱
소스코드 편집
App.js
열어서 맘대로 편집하면 됨.변경사항을 저장할 때마다 자동으로 reload 되어 즉각 반영된다.
끝!
그 외 참조사항
Expo 도큐먼트 : https://docs.expo.io/
Expo 포럼 : https://forums.expo.io/
한계
서드파티 모듈, 네이티브 코드 통합 불가
Expo 사용시 우리는 어떠한 네이티브 코드도 만들지 않기 때문에, 엑스포 클라이언트 앱에서 제공하는 Components와 React Native API를 넘어서는 커스텀 네이티브 모듈을 포함할 수 없다.
Expo 사용 도중 native 코드가 필요하다면 "eject"
own native code 등을 포함해야하는 경우라도 Expo는 좋은 시작점이 될 순 있다.
기존의 프로젝트에 통합하는 경우에는 Expo는 부적합
또한 이미 존재하는 프로젝트에 React Native 프로젝트를 통합하려는 경우라면 Expo는 적절한 선택지가 못된다. 바로 react-native-cli로 건너뛰자.