개발 빌드 용어 정리: Development Build, Test Build, Custom Build, Local Build, Native Build 차이점

oversleep·2025년 2월 25일

app-development

목록 보기
25/38

들어가며

앱 개발을 하다보면 개발 빌드(Development Build), 테스트 빌드(Test Build), 커스텀 빌드(Custom Build), 로컬 빌드(Local Build), 네이티브 빌드(Native Build) 같은 용어도 혼용되곤 합니다.
이 글에서는 각 용어의 차이를 정리해 보겠습니다.


1. 디벨롭먼트 빌드(Development Build)

Expo 공식 용어로, 개발 환경에서 네이티브 코드 실행이 가능한 빌드를 의미합니다.

  • Expo Go와 달리 네이티브 모듈을 추가할 수 있음
  • eas build --profile development을 사용하여 생성
  • Expo의 EAS Development Client를 활용해 빠르게 테스트 가능

📌 언제 사용하나요?

  • Expo Go로 실행할 수 없는 네이티브 모듈(ex. react-native-push-notification) 사용 시
  • 개발 중 Expo Go보다 더 네이티브 환경에 가까운 테스트가 필요할 때

2. 테스트 빌드(Test Build)

일반적으로 개발 과정에서 테스트용으로 빌드하는 모든 버전을 포함하는 넓은 개념입니다.

  • 개발 빌드뿐만 아니라 프로덕션 빌드도 테스트 목적으로 사용 가능
  • QA(품질 테스트) 과정에서 테스트 기기에서 실행할 앱을 빌드할 때 사용

📌 언제 사용하나요?

  • 프로덕션 빌드 전에 QA 테스트용 버전을 만들 때
  • 개발 빌드가 아닌 배포용 프로필(e.g., eas build --profile preview)로 테스트할 때

3. 커스텀 빌드(Custom Build)

Expo의 기본적인 관리형 빌드에서 벗어나, 사용자가 설정을 직접 조정한 빌드입니다.

  • eas.json에서 커스텀 프로필을 설정해 빌드 가능
  • 특정 네이티브 설정을 변경하거나, 필요에 맞게 빌드 방식을 조정할 때 사용

📌 언제 사용하나요?

  • Expo 기본 빌드 방식에서 벗어나 특정 네이티브 설정을 적용하고 싶을 때
  • 회사/팀에서 자체적인 빌드 프로필을 만들고 싶을 때

4. 로컬 빌드(Local Build)

Expo의 클라우드 빌드(EAS Build)를 사용하지 않고, 로컬 환경에서 직접 빌드하는 방식입니다.

  • eas build --local 명령어를 사용하여 실행
  • 클라우드 빌드 비용을 절약하거나, 내부 네트워크에서 직접 빌드해야 할 때 사용

📌 언제 사용하나요?

  • Expo EAS 빌드가 아닌, 로컬 환경에서 직접 빌드하고 싶을 때
  • CI/CD 없이 개발자가 직접 APK/IPA 파일을 빌드해야 할 때

5. 네이티브 빌드(Native Build)

Expo의 관리형 워크플로우에서 벗어나 네이티브 코드를 직접 수정할 수 있는 빌드 방식입니다.

  • expo prebuild를 실행하면 bare workflow로 전환 가능
  • iOS/Android 네이티브 코드(Java, Swift, Kotlin, Objective-C)를 직접 수정할 수 있음

📌 언제 사용하나요?

  • Expo의 관리형 워크플로우로 해결할 수 없는 네이티브 기능이 필요할 때
  • 직접 네이티브 코드를 수정해야 하는 경우

결론: 어떤 용어를 써야 할까?

  • 공식적인 "개발 빌드"를 말할 땐 → Development Build
  • 그냥 테스트를 위한 빌드라면 → Test Build
  • Expo 기본 방식에서 벗어나면 → Custom Build
  • 클라우드 빌드가 아닌 로컬에서 실행하면 → Local Build
  • 네이티브 코드를 직접 수정할 수 있다면 → Native Build

각 용어는 서로 비슷하지만 맥락에 따라 의미가 조금씩 다릅니다.
자신의 개발 상황에 맞는 표현을 사용하는 것이 중요합니다! 😊

profile
궁금한 것, 했던 것, 시행착오 그리고 기억하고 싶은 것들을 기록합니다.

0개의 댓글