본문 바로가기
Computer Science/React Native

[React Native] Expo CLI와 React Native CLI 개념

by sy.cho__ 2023. 9. 4.

EXPO CLI vs React Native CLI

React Native 개발을 처음 시작할 때

제일 많이 하는 고민이 어떤 개발환경으로 Setting할까 인것 같아요

보통 Expo CLI / Reat Native CLI 둘 중 하나를 선택하는데 

이번 포스팅에서는 위 두 개념에 대해 한번 알아보겠습니다!

 

Expo CLI란?

Expo CLI

Expo CLI란 React Native 앱을 쉽고 빠르게 구축하는 종합선물세트 라고 할 수 있어요

Expo 의 장점은?

기본적으로 제공하는 API와 라이브러리가 많아 진입장벽이 낮습니다.

그래서 앱 개발 초기과정을 단순화해주고 개발속도가 빨라집니다. Beginner에서 친화적이라고 볼 수 있어요

iOS개발을 위한 Xcode , Android개발을 위한 Android studio 설치할 필요가 없어요

Expo Go 어플만 있으며 기기 상관없이 프로젝트 실행이 가능해요. PC뿐만 아니라 모바일, 태블릿 모두 가능합니다!

 

Expo CLI 단점

쉽고 빠르고 편리하다라는 장점이 있지만 단점도 있습니다.

제공되는 API만 사용해야 합니다.

추가 네이티브 모듈 사용이 불가하기 때문에 기능 구현상에 있어서 많은 부분이 아쉬울 수 있어요

 

Reative Native CLI란?

React Native

 

Expo CLI에서 제공하지 않는 고도화된 기능 개발을 지원합니다.

즉 개발 자유도가 훨씬 높아요

Reative Native CLI의 장점은?

Expo CLI와 달리 Native 모듈 사용가능합니다.

다양한 라이브러리 사용으로 높은 자유도를 가질 수 있어요

 

Reative Native CLI의 단점은?

기존 제공되는 라이브러리가 적어, 대부분의 기능 구현에 있어 직접 설치를 해야합니다.

그래도 개발에 필수로 적용해야 하는 라이브러리는 사용자도 많고 유지보수가 잘되어있어서 안정적으로 사용이 가능합니다.

그렇게 크게 걱정하지 않아도 됩니다. 

그리고 Android 배포에는 Android Studio , iOS 배포엔 Xcode 설치가 필수입니다.

Xcode를 사용하기 위해 Mac 개발환경이 필수인것을 체크해야 합니다.

이에따라 안드로이드와 iOS Native 지식이 필요합니다.

 

어떤 CLI를 선택하면 좋을까?

어떤 서비스를 만들고 이를 구현하기 위해 어떤 기능이 필요한지 우선 생각해야 합니다.

그리고 이 기능이 Expo에서 지원하는지 체크해야 합니다. 

만약 모든 기능에 Expo에서 구현 가능하다면 굳이 RN CLI를 개발하기 위해 여러 개발환경을 구축하는 수고로움을 하지 않아도 됩니다.

예를 들어 "인앱(In-app) 결제" 의 경우 Expo CLI에서 구현할 수 없어요.

이렇게 각  CLI에서 구현 가능한 범위를 체크하고 자신의 서비스에 맞게 선택하는게 좋습니다. 

 

Expo에서 React Native로 전환할수 없을까?

초기 개발은 Expo를 통해 빠르게 개발하고

나중에 서비스가 커지거나 추가 기능이 필요한 시점에 React Native CLI로 전환하면 안될까?

이렇게 생각할 수 있어요.

충분히 가능합니다! 이걸 "eject" 라고 해요. 

EXPO CLI에서 탈출해서 React Native CLI로 넘어가는 걸 eject라고 합니다.

명령어 한줄로 하면 되기 때문에 쉽게 넘어갈 수 있습니다!

 

다음 포스팅에선 Expo CLI 개발 환경 셋팅하고 Hello world 프로젝트 한번 만들어볼게요!

 

[Reative Native] EXPO 개발환경 세팅 , Hello world 만들기 - Mac

이번 포스팅에선 Expo Cli 개발을 위한 환경세팅 작업을 하려고 합니다. 제 개발환경인 Mac을 기준으로 설명드리는데 혹시 Window 개발환경 설정이 필요하시다면 댓글로 작성해주세요! 개발환경 설

sycho-lego.tistory.com

 

반응형