강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

freshour님의 프로필 이미지
freshour

작성한 질문수

아바타 커뮤니티앱 만들기 (React Native Expo)

[1-0] 강의 및 앱 소개

expo, cli 선택 중 고민이있습니다..

해결된 질문

작성

·

85

·

수정됨

1

안녕하세요, 강사님. 좋은 강의 감사히 듣고 있습니다!

현재 실제 앱 출시를 목표로 개발을 시작하려고 하는데, Expo와 CLI 중 어떤 방식으로 진행할지 고민 중입니다.

공식 문서에서도 Expo를 권장하고 있고, Prebuild 기능 덕분에 대부분의 네이티브 라이브러리도 사용할 수 있고, 성능 최적화도 많이 이루어진 것으로 알고 있습니다.


CLI와 Expo 사이의 런타임 성능이나 최종 번들 용량 차이에 대한 정확한 비교 자료가 부족해 선택이 쉽지 않은 상황입니다.
강사님께서 CLI와 Expo를 모두 사용해보셨을 때, 두 방식 간에 실제 체감되는 성능이나 앱 용량 차이가 유의미했는지 궁금합니다.

만약 차이가 크다면 CLI를 선택하는 쪽이 맞을 것 같기도 한데, 강사님의 의견이 듣고 싶습니다. 감사합니다!

답변 2

1

Kyo님의 프로필 이미지
Kyo
지식공유자

성능이나 앱용량에 큰 차이가 있을것같진 않습니다!

그런데 어떤앱을 개발하려고 하시나요??

freshour님의 프로필 이미지
freshour
질문자

설문을 통해 데이터를 제공하면, 알고리즘이 맞춤 식단과 적정 식사량을 추천해 주는 정기 구독 기반 커머스 앱을 개발하려고 합니다!
- 카메라로 촬영한 이미지를 업로드하면 AI 모델을 통해 비만도를 체크하는 기능
- 추후에는 카카오맵과 같은 지도 연동으로 근처 제휴 병원, 매장 위치를 제공할 예정입니다!

Kyo님의 프로필 이미지
Kyo
지식공유자

개발할 기능, 사용하는 라이브러리, 함께개발하는 팀원 등 여러가지 고려해서 선택해보시는게 좋을것같아요.

 

예를들어 카카오맵 같은경우 expo지원 여부를 알아보셔야 합니다. expo는 지원하지않았던것으로 알고있어서, expo환경에서 사용하려면 웹뷰를 사용하셔야할 수 있습니다.

 

개인적으로 신규 프로젝트는 이제 엑스포로 시작해보는것을 추천드리긴합니다만 생각보다 고도화된 앱을 개발하시는것 같아서 선뜻 한가지를 추천드리기가 어렵네요!

 

저는 expo가 실기기/시뮬레이터 테스트나 빌드/배포도 간단하고, cli는 버전/환경에따라 발생하는 이슈나 빌드시 발생하는 이슈가 많아서 아무래도 개발자경험은 expo가 좋았습니다.

freshour님의 프로필 이미지
freshour
질문자

아 카카오맵 같은 라이브러리의 expo 지원 여부가 중요하겠네요..
답변 감사드립니다!

0

안녕하세요, 인프런 AI 인턴입니다. freshour님.

Expo와 CLI는 각각의 장단점이 있으며 어떤 것을 선택하느냐에 따라 개발 경험과 결과가 상당히 달라질 수 있습니다. 다음은 각 방식의 특징과 고려해야 할 점에 대한 설명입니다.

Expo:

  1. 개발 환경 설정의 용이함: Expo는 복잡한 환경 설정을 자동으로 처리해주기 때문에 초보자에게 적합하며, 빠른 프로토타이핑에 유리합니다.
  2. 빌드 및 디버깅의 간편함: Expo는 다양한 기기에서의 앱 테스트를 매우 쉽게 할 수 있게 해줍니다.
  3. 네이티브 기능 사용 제한: Expo Managed Workflow를 사용할 경우 일부 네이티브 모듈 사용에 제약이 따를 수 있습니다. 하지만 Prebuild 기능 등을 통해 네이티브 모듈 사용이 점차 확장되고 있습니다.
  4. 성능 및 크기: 일반적으로 Expo 앱은 CLI 기반 앱에 비해 약간의 런타임 오버헤드와 크기 증가가 있을 수 있습니다. 그러나 이는 최신 Expo 버전에서 상당한 최적화가 이루어지고 있으며, 많은 경우 별다른 문제를 느끼지 못할 수 있습니다.

CLI:

  1. 높은 자유도: 네이티브 코드를 직접 편집할 수 있어, 다양한 라이브러리와 기능을 자유롭게 사용할 수 있습니다.
  2. 최적화 및 성능: 특정 네이티브 기능 및 성능 최적화가 필요한 경우 CLI가 더 나을 수 있습니다.
  3. 복잡한 설정: 초기 설정이 복잡하고 에러 핸들링이 필요할 수 있어, 초보자에겐 진입 장벽이 높습니다.

관련된 유사한 질문들을 다음의 링크에서 확인하실 수 있습니다:
- Expo SDK 적용?
- expo로 진행하면 강의를 따라갈수 있을까요?

결론적으로, 앱 출시가 목표라면 초기 설정과 개발의 용이함을 제공하는 Expo로 시작하는 것이 좋습니다. 이후 필요에 따라 Bare Workflow로 전환하여 CLI처럼 사용할 수도 있으니, 프로젝트의 특성에 맞춰 양쪽의 장점을 고려해보시면 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

freshour님의 프로필 이미지
freshour

작성한 질문수

질문하기