Expo CLI
node.js ver 10 이상 설치 필요.
npm install -g expo-cli
expo init [ projectName]
* git bash는 에러가 발생한다. zsh혹은 윈도우의 경우 cmd를 이용...expo start // start local dev server
expo 개발의 경우 크게 두가지로 나뉜다.
Managed & Bare
managed
의 경우는 expo-cli를 통해 build되며,
Xcode나 Android Studio를 사용하지 않고 개발을 진행한다.
오직 js코드로만 작성을 하고, json파일을 통해 config를 설정한다.
Expo sdk는 카메라나 생체인증과 같은 디바이스의 기능을 접근할 수 있는 방대한 api들을 제공한다.
그러나 control에 대한 한계가 존재한다.
Bare
앱 개발 과정에서 개발자는 온전한 control이 가능하다. Expo SDK의 API역시 사용 가능하다.
그러나 build service, notifications, over-the-air updates 그리고 app.json을 통한 간편한 설정은 지원되지 않는다.
Dependency
import { FileSystem } from ‘expo’; //deprecatedexpo install expo-file-system; // now
expo sdk는 common.js방식으로 import하는 것을 deprecate했다.
대신 개별적인 패키지를 설치하고 그 패키지에서 가져와야 한다.
새로운 expo install
이라는 명령어로 모듈들을 설치할 수 있는데,
이 명령은 npm install
/ yarn add
를 감싸고 있고
현재 SDK 버전과 호환이 되는 모듈 버전으로 설치를 하도록 해준다.
change configuration like the icon and splash screen image we can use app.json
app.json에서 사용하는 key들에 대한 정보는 아래 주소..
Expo Logging
- Ensure Android SDK is installed
- Ensure that USB debugging is enabled on your device (not necessary for emulator).
- Run
adb logcat
에뮬레이터 설정은 아래 주소 참고.
디버깅의 경우는
Android Emulator나 iOS Simulator를 통해 하는것을 권장하고 있음.
console.warn(‘warning message’)
console.error(‘err message’)
를 통해 warn이나 error을 만들 수 있음.
Expo에서 라우팅 및 탐색에 사용하도록 권장하는 라이브러리는
React Navigation 입니다.
react Navigation은 아래 주소 참고.