Expo로 react native기반 앱 프로젝트 만들기
엑스포는 리엑트 네이티브 프로젝트 환경을 쉽게 셋팅하고 빌드할 수 있게 해주는 툴이다. 빠르고 쉽게 앱을 만들 수 있다는 것이 큰 장점이라고 배웠다.
하지만 구글링을 좀 해본 결과 expo를 사용하면 네이티브 모듈을 사용할 수 없고 빌드 시간이 매우 느리다는 단점(비용을 들인다면 해결이 가능한것 같긴 하지만)이 치명적이라고 한다.
내가 배우는 강의에서는 리엑트 네이티브를 사용하다보면 네이티브 모듈이 필요한데, expo를 사용하면 해결할 수 있기 때문에 이를 장점이라고 하긴 했다. 하지만 expo에 모든 기능이 갖추어진 것이 아니므로 어쩔 수 없이 네이티브 모듈이 필요하게 된다면 결국 expo를 eject해야하는 상황이 생기는 것 같다.
일단 이번에 간단하게 react native를 접해보고 다음 프로젝트를 기획할 때는 expo를 사용하지 않고 개발을 해봐야겠다.
1. yarn 설치
npm install -g yarn //글로벌로 설치하여 컴퓨터 전역에서 사용하도록 함
yarn은 npm보다 좀 더 가볍고 빠르게 자바스크립트 패키지를 관리할 수 있게 해주는 자바스크립트 패키지 매니저 툴이라고 한다.
2. expo 명령어 도구 설치
npm install -g expo-cli
3. 프로젝트 생성
expo init 프로젝트명
명령어 실행 후 원하는 타입의 프로젝트를 선택하여 expo 프로젝트를 생성한다.
이후 cd 명령어를 통해 생성한 프로젝트 폴더로 들어간다.
4. expo 앱 실행하기
expo start
연구실에서 만들었던 expo 프로젝트를 깃허브에 올려놓고 집에서 clone해서 사용하려고 했는데 다음과 같은 오류가 나타났다.
Unable to find expo in this project - have you run yarn / npm install yet?
프로젝트에 expo가 없다는 에러 메세지가 나오는데 yarn add expo 명령어를 실행하여 해결하였다. 실행하니 package.jason파일과 yarn.lock파일에서 엑스포 버전이 변경되었다. 연구실에서 설치랬던 expo 클라이언트와 노트북에 설치돼있는 expo 클라이언트 버전이 달라서 프로젝트에 없다는 에러가 생겼나보다. expo가 없다길래 단순하게 추가해주면 되는거 아닌가 하는 생각에서 실행해본 명령어라 이게 맞는 해결책인지는 모르겠다!
Expo에서 제공하는 기능들 참고
API Reference - Expo Documentation
API Reference - Expo Documentation
Expo is an open-source platform for making universal native apps for Android, iOS, and the web with JavaScript and React.
docs.expo.dev