본문 바로가기
개발/RN

[RN] React Native CLI vs Expo CLI

by devhooney 2023. 11. 5.
728x90

리엑트 네이티브 개발 시 Expo 사용하느냐 안하느냐 방식의 차이가 있다.

차이점을 알아보자

 

 

 

728x90

 

 

React Navie CLI

일반적인 React Native 개발 방식은 React Native를 사용하여 네이티브 모바일 앱을 개발하는 프로세스를 말한다. 

 


환경 설정:
Node.js 및 npm 또는 Yarn 설치: React Native 개발을 시작하려면 Node.js 및 관련 패키지 관리자 (npm 또는 Yarn)를 설치해야 한다.
Android Studio 또는 Xcode 설치: Android 앱을 개발할 때는 Android Studio를, iOS 앱을 개발할 때는 Xcode를 설치해야 한다.

 

React Native 프로젝트 생성:
React Native CLI를 사용하여 새로운 프로젝트를 생성합니다. npx react-native init MyProject 명령을 사용하면 새로운 프로젝트 디렉토리가 생성된다.


코드 작성:
JavaScript 또는 TypeScript를 사용하여 앱의 로직 및 UI를 작성한다. React와 React Native 컴포넌트를 사용하여 화면을 구성하고 상태를 관리한다.


네이티브 모듈 통합:
필요한 경우, 네이티브 모듈을 사용하여 특정 플랫폼의 기능에 액세스하거나 네이티브 코드를 통합한다. 이 작업은 네이티브 모듈 개발 또는 외부 패키지를 사용하는 방식으로 수행된다.


디버깅:
개발 중에는 React Native 디버그 도구를 사용하여 코드를 디버그하고 오류를 찾아 수정한다. 이를 위해 React Native 개발 서버를 실행하고 디버깅 도구를 활용한다.

 

라이브러리 및 패키지 사용:
필요한 경우, 다양한 라이브러리 및 패키지를 사용하여 앱에 추가 기능을 통합한다. npm 또는 Yarn을 사용하여 패키지를 설치하고 사용한다.


테스트:
테스트 프레임워크를 사용하여 앱의 기능을 테스트하고 버그를 식별한다. Jest와 Detox와 같은 도구를 사용하여 유닛 테스트 및 UI 테스트를 수행한다.


배포:
iOS 및 Android 앱을 각각의 앱 스토어에 제출한다. 이에는 각 플랫폼의 규정 및 프로세스를 따라야 한다.

 

유지 보수:
앱을 출시한 후에도 지속적으로 유지 보수를 수행하고 사용자 피드백을 기반으로 업데이트를 배포한다.

 


React Native는 JavaScript 또는 TypeScript를 사용하여 앱을 개발할 수 있으며, 플랫폼 간 코드 공유가 가능하다. 이러한 특징으로 React Native는 효율적인 앱 개발과 유지 관리를 가능하게 한다다.

 

 

 

 

Expo CLI

Expo는 React Native를 기반으로 한 오픈 소스 프레임워크 및 개발 환경이다. Expo를 사용하면 React Native를 더 쉽게 시작하고 관리할 수 있으며, 앱 개발을 더 빠르게 진행할 수 있다. 

 


개발 환경 단순화: Expo는 React Native 앱 개발을 위한 개발 환경을 단순화한다. 복잡한 네이티브 개발 도구 설정 없이 Expo CLI를 사용하여 개발을 시작할 수 있다.

내장 모듈 및 API: Expo SDK에는 다양한 내장 모듈과 API가 포함되어 있어, 기본적인 앱 기능을 구현하는 데 도움을 준다. 이러한 모듈은 카메라, 지도, 알림, 위치, 파일 시스템 액세스 등 다양한 기능을 제공한다.

Expo 클라이언트 앱: Expo는 개발 중에 앱을 미리보기하고 테스트하기 위한 Expo 클라이언트 앱을 제공한다. 이를 통해 실제 기기에서 앱을 쉽게 실행하고 테스트할 수 있다.

OTA 업데이트: Expo는 "Over The Air" (OTA) 업데이트를 지원하여 앱의 코드나 자산을 앱 스토어 업데이트 없이 원격으로 업데이트할 수 있다. 이로써 앱의 개선과 버그 수정을 쉽게 배포할 수 있다.

Expo 서비스: Expo는 Expo 서비스를 통해 앱을 배포하는 데 도움을 준다. Expo 서비스를 사용하면 iOS 및 Android 앱을 Expo 클라우드에 업로드하고, Expo 클라이언트 앱을 통해 사용자에게 앱을 제공할 수 있다.

제한된 사용자 정의: Expo를 사용하면 내장된 모듈과 API를 사용하거나 사용자 지정 네이티브 모듈을 작성할 수 있지만, 더 복잡한 사용자 지정이나 네이티브 코드 통합은 일반적으로 제한된다.

Expo는 빠른 프로토타입 개발이나 간단한 앱의 개발에 적합하며, 특히 React Native의 기본을 배우는 중간 또는 초보 개발자에게 유용하다. 그러나 복잡한 기능이나 더 높은 사용자 지정을 필요로 하는 프로젝트에는 일반적인 React Native 개발 방식이 더 적합할 수 있다.

728x90