React Native를 처음 시작할 때, 두가지 방식이 있다.
1. Expo CLI / Tool 을 이용하여 시작하기
2. React Native CLI 를 이용하여 시작하기
둘에는 다음과 같은 차이가 있다.
Expo는 React Native의 무료로 사용할 수 있는 써드 파티 라이브러리로,
여러 Utility 덕분에 Native 기능을 손 쉽게 사용할 수 있는 반면
Expo에서 제공하는 Ecosystem에 제한되게 된다.
반면 RN에서 직접 제공하는 CLI는 Native 기능을 사용하기 위해 설정을 따로(많이) 해야하지만
자연스럽게 자유도는 높아진다.
물론 Expo로 시작하고, eject 명령어를 통해 RN Cli로 갈아탈 수 있다.
Expo를 이용하여 앱을 개발할 때 , Expo Client 앱에서 우리의 앱을 띄우고 Hot-reload 하게 될 것이다.
만든 앱을 Publish 하게 되면 앱을 설치하지 않아도, Expo App을 가지고 있는 사용자가 Expo Client 내에서 앱을 테스트 할 수 있다.
물론 앱을 직접 빌드해서 앱스토어에 배포할 수 있다.
간단히 해보는 튜토리얼
npm install -g expo-cli
expo init rn-first-app
template는 blank (TypeScript)를 선택한다.
그 후 rn-first-app 폴더로 이동하여
npm run start를 작성하면 expo dev-tool이 뜬다
왼쪽에 Run in web-browser 를 누르면 웹에서 그 결과가 뜬다
RN은 마냥 JS라고 할 수 없다.
JS를 아무데서나 쓴다고 하기는 힘들고, RN을 배워서 여러 플랫폼에 쓴다고 생각해야 한다.
- component styling 라이브러리가 그대로 연동되지 않는다
- pre built component가 최소한으로만 제공된다
- device size와 OS에 따라 Responsive design을 직접 해야 한다.
React는 아직 발전하고 있다.
- 매달 새 버전이 나오고..
- 큰 변화도 종종 생기고..
- 서드 파티 라이브러리에 대한 의존성도 아직 높고..
- 아직 버그가 많다.
그래서 대안은?
- 그냥 Native App을 공부하던지
- PWA를 하던지
- Ionic 같이 JS in all solution 을 쓰던지
그래도 일단 RN 해보자.
'App > React Native' 카테고리의 다른 글
React Native - 6. Shadow, Input handling, Alert ... (0) | 2020.05.15 |
---|---|
React Native - 5. 기초 개념 및 Styling (0) | 2020.05.12 |
React Native - 4. Android Studio 로 초기 앱 띄워보기 (0) | 2020.05.11 |
React Native - 2. HOW React Native Works (0) | 2020.05.11 |
React Native - 1. 초반 설정 및 핵심 컴포넌트 (0) | 2020.04.24 |
댓글