Framework/React Native

React Native CLI vs Expo

혬수 2024. 2. 20. 02:00

📍 React Native

Facebook에서 개발한 오픈 소스 모바일 애플리케이션 프레임워크

개발 방식에 따라 React Native CLI, EXPO CLI로 나뉜다.

 

 

 

 

📍 React Native CLI

React Native 앱을 위한 전통적인 방식

프로젝트 구성과 설정에 최대한의 유연성과 제어가 가능하다.

 

장점

  1. 네이티브 모듈을 사용할 수 있고, 다양한 라이브러리를 활용할 수 있다.
  2. 앱의 성능, 크기 등을 제어할 수 있도록 빌드 구성을 할 수 있다.
  3. 강력한 커뮤니티와 생태계를 가지고 있다.

 

단점

  1. 초기 구성과 설정이 더 많아 까다로울 수 있다.
  2. 네이티브 종속성과 빌드 도구를 수동으로 구성해야 한다. (네이티브 지식이 필요)
  3. Android 및 iOS에서 앱을 테스트하기 위해 특정 장치가 있어야 한다. (iOS에선 맥북 필수)

 

 

📍 EXPO

React Native 개발을 보다 쉽게 만들어주는 React Native 프레임워크

프로젝트를 설정하고 구성하는 것과 관련한 복잡성을 추상화함으로써 단순화된 개발 경험을 제공

 

장점

  1. 장치별 설정이나 네이티브 코드 종속성 관계없이 빠르게 개발을 시작할 수 있다.
  2. 클라우드에서 코드를 구축하고 EAS에 배포할 수 있으므로, 배포와 업데이트가 간편하다.
  3. 푸시알람, 인앱 결제 등 직접 개발하기 어려운 기능들이 라이브러리와 API로 제공된다.
  4. 동일한 네트워크를 통해 Android 및 iOS 모두에서 앱을 실행할 수 있다.
  5.  iOS, Android, 그리고 Web 개발을 동시에 진행할 수 있다.

 

단점

  1. 특정 네이티브 모듈 접근에 제한을 두고 있어, 기능 구현에 한계가 있을 수 있다.
  2. 빌드 설정 및 사용자 지정 옵션에 자유도가 낮다.
  3. 번들 크기가 비교적 커서 다운로드 및 로딩 시간에 영향을 준다. 또한, 특정 성능 최적화를 사용 못 할수도 있다.

 

 

 

Expo Eject

EXPO를 표준적인 React Native CLI로 전환하는 것을 의미

 

 

 

 

 

 

참고

https://medium.com/@softworthsolutionspvtltd/expo-vs-react-native-cli-7e47c7630039

 

Expo vs React Native CLI

Expo or React Native CLI ? What should i choose ?

medium.com

https://crossplatformkorea.com/docs/current/react-native/intro