IOS 와 Android app 을 하나의 코드로 앱을 만들어 낼 수 있다(생산성 up).
리엑트 네이티브 앱은 js 로 개발하는데 native 코드 변환 하여 동작 가능하다.
이는 Bridge 라는 녀석 덕분이다.
Bridge 는 js 코드를 이용해 네이티브 계층과 통신하는 역할을 한다.
그리고 자바스크립트 스레드 정보를 받아 네이트브에 전달한다.
현재, cpu 집중적인 작업은 아직 Flutter(Bridge가 존재 x) 성능이 좋다고 한다.
하지만, Meta(구 Facebook) 은 향후 bridge 를 제거하고 js interface라는것을 구현하여 성능 향상을 위한 작업을 하고 있다고 한다. Meta 홧팅.!
EXPO CLI
*장점 : 환경설정부터 배포까지 간단하고 EXPO GO 어플로 기기 상관 없이 프로젝트 실행 가능
*단점 : 기본 제공되는 API만을 사용해야됨.(IOS OR Android 추가 기능 업데이트시 expo 에 업데이트 될때 까지 기다려야함.)
REACT NATIVE CLI
*장점 : 고도화 된기능 개발. 다양한 라이브러리 사용 가능, 네이티브 모듈 연결 가능.
in app 결제 같은 라이브러리는 RN CLI로 해야한다.
그러나, Eject 작업을 하게되면 expo로 개발된것을 RN CLI 전환 가능.!
이후, node js, VSC 가 설치가 완료가 되었다면, vsc terminal 에서 npx create-expo-app 프로젝트명 으로 만들고, 프로젝트 실행시 npx expo start 명령어를 실행하면 qr 코드가 터미널에 뜨게 되는데, 이 qr 코드는 Expo go 어플이 깔린 스마트폰에 인식하여 결과 화면을 볼수있다.