프로그래밍 언어/React Native (RN)

2가지 React Native 개발 환경의 차이점

chobyeonggyu03 2024. 6. 24. 11:54

React Native의 개발환경 프레임워크에는 React Native Comand Line Interface 와 React Native Expo Comand Line Interface 2가지가 있는데,  2가지 개발 프레임워크의 차이점은 무엇이 있는지 그 차이점에 대해 정리해보고자 한다.
 
 
 
 

React Native CLI 

● React Native의 공식 개발 프레임워크로 개발자가 네이티브 코드에 직접적으로 접근할 수 있음, 하지만 따로 초기 환경설정을 해줘야함
 
 

 

React Native  CLI의 특징

● 앱 개발을 위해선 초기 개발환경 세팅이 필수적임
 
● Native code에 직접적으로 접근할 수 있음
 
● 원하는 언어로 추가작성이 가능함 ( Java, Kotlen, swift, obj-C 등 )
 
● 필요한 기능이 있을 때 모듈을 직접 제작할 수 있음
 
● 모바일 OS Layer와 직접적으로 소통이 가능함
 
 
 
 

React Native Expo CLI 

● React Native 개발을 보다 쉽게 할 수 있도록 설계된 프레임워크로 복잡한 환경설정없이 바로 앱 개발을 할 수 있게 지원해줌
 
 
 
 

React Native Expo CLI의 특징

● 별도의 개발환경 세팅이 필요없고 개발하기 쉬움
 
● Native code에 직접적으로 접근할 수 없음
 
● 원하는 언어로 추가작성이 불가능함
 
● 별도의 모듈을 추가할 수 없고 expo에서 제공해주는 모듈만 사용가능함
 
● 모바일 OS Layer와 직접적으로 소통이 불가능함
 
● Expo Client에서는 개발한  앱이 Expo Go 앱을 통해 실시간으로 작동되는 화면을 볼 수 있지만 simulater나 단말기에서는 잘 작동하지않는 단점이 있음
 
 
 
 

React Native Expo CLI vs React Native CLI 

1. 별도의 개발환경 세팅 : expo는 별도의 개발환경 세팅이 필요하지 않지만 React Native CLI는 별도의 환경세팅이 필요함
 
2. Native code에 대한 접근성 : expo는 Native code에 대해 접근할 수 없지만 React Native CLI는 Native code에 대해 접근할 수 있음
 
3. Javascript 이외의 언어 사용 가능성 : expo는 Javascript기반의 React Native언어만을 사용할 수 있지만, React Native CLI는 Java나 Swift, odj-C와 같은 언어를 추가할 수 있음
 
4. 별도의 추가 모듈 사용 가능성 : expo는 React Native expo에서 제공하는 기본 모듈만을 사용할 수 있지만, React Native CLI는 해당 모듈 이외의 모듈을 사용하고 싶으면 직접 지정하여 사용할 수 있음
 
5. 모바일 OS Layer에 대한 직접적인 접근 : expo는 모바일 OS Layer에 대해 직접적으로 접근 할 수 없지만 React Native CLI는 해당  Layer에 직접적으로 접근이 가능함
 
6. 디바이스 : expo는 Expo Go 앱을 통해서만 앱이 제대로 실행되지만 React Native CLI는 다른 단말기에서도 제대로 작동함