Tech Story

[Flutter] RestfulAPI 호출 방법 (Debugging & Release Mode)

쭝허니 2025. 5. 31. 21:26

Flutter 빌드 모드: 개발부터 배포까지, 어떤 모드를 선택해야 할까요?

오늘은 Flutter 개발에서 빼놓을 수 없는 중요한 주제, 바로 **빌드 모드**에 대해 알아보는 시간을 갖도록 하겠습니다.  Flutter는 앱을 빌드할 때 개발 단계에 따라 `디버그`, `프로필`, `릴리스` 세 가지 모드를 제공하고, 테스트를 위한 `헤드리스` 모드도 지원합니다.  어떤 모드를 선택해야 할지 고민이시라구요?  걱정 마세요!  지금부터 친절하게 설명해 드릴게요! 😉

 

### 1. 핫 리로드의 친구, 개발 모드: 디버그 모드 🐞

 

개발 중이라면 단연 **디버그 모드**가 최고의 선택입니다!  🚀  이 모드는 핫 리로드를 지원하여 코드 변경 후 바로 결과를 확인할 수 있도록 최적화되어 있습니다.  덕분에 개발 속도가 엄청나게 빨라지죠!  하지만 속도가 빠른 대신 앱의 크기가 커지고 실행 속도가 느릴 수 있다는 점은 감안해야 합니다.

 

**디버그 모드의 특징:**

 

* **어설션 활성화:**  코드 오류를 쉽게 찾을 수 있도록 도와줍니다.

* **서비스 확장 활성화:**  디버깅을 위한 추가 기능들을 사용할 수 있습니다.

* **빠른 개발 주기:** 핫 리로드를 통해 빠르게 코드 수정 및 테스트가 가능합니다.

* **소스 수준 디버깅 지원:** DevTools와 같은 디버깅 도구를 사용할 수 있습니다.

 

**Android Studio에서 디버그 모드 실행:**

 

`실행 > 디버그...` 메뉴 또는 프로젝트 페이지의 녹색 버그 아이콘을 클릭하세요!

 

**코드 예시 (Flutter 실행 명령):**

 

```bash

flutter run

```

 

(기본적으로 `flutter run` 명령어는 디버그 모드로 실행됩니다.)



![디버그 모드 실행 화면 예시](debug_mode_screenshot.png)  *(여기에 Android Studio의 디버그 실행 버튼 이미지를 넣어주세요)*



### 2. 성능 분석의 핵심, 프로파일 모드 📊

 

앱의 성능을 분석하고 최적화하고 싶다면 **프로필 모드**를 사용하세요!  🔍  프로필 모드는 릴리스 모드에 가까운 성능을 보여주면서도 성능 분석에 필요한 정보들을 제공합니다.  에뮬레이터나 시뮬레이터에서는 실제 성능을 정확하게 반영하지 못하기 때문에 실제 기기에서 프로필 모드로 테스트하는 것이 중요합니다.

 

**프로필 모드의 특징:**

 

* **어느 정도의 디버깅 기능 유지:**  오류를 찾는 데 필요한 최소한의 기능은 제공합니다.

* **성능 오버레이 활성화:**  실행 중인 앱의 성능을 실시간으로 모니터링할 수 있습니다.

* **추적 활성화:**  앱의 성능 병목 현상을 찾는 데 도움이 됩니다.

* **트리 셰이킹:** 불필요한 코드 제거로 앱 크기 최소화

 

**Android Studio에서 프로필 모드 실행:**

 

`실행 > 프로필...` 메뉴를 사용하세요!

 

**코드 예시 (Flutter 실행 명령):**

 

```bash

flutter run --profile

```

 

**DevTools 활용:**  프로필 모드에서 얻은 데이터를 DevTools를 이용하여 분석하고 성능을 개선해 보세요!



![프로필 모드 실행 및 DevTools 분석 화면 예시](profile_mode_screenshot.png) *(여기에 Android Studio의 프로필 실행 버튼 이미지와 DevTools 화면 이미지를 넣어주세요)*



### 3. 최적화의 완성, 배포 모드: 릴리스 모드 🚀

 

앱 출시를 앞두고 있다면 **릴리스 모드**가 정답입니다! 🎉  릴리스 모드는 앱의 크기를 최소화하고 실행 속도를 최대화하기 위해 코드를 최적화합니다.  디버깅 정보는 제거되고, 어설션은 비활성화됩니다.  에뮬레이터나 시뮬레이터에서는 실행되지 않습니다.

 

**릴리스 모드의 특징:**

 

* **어설션 비활성화:**  오류 검사 기능을 제거하여 앱의 크기와 실행 속도를 향상시킵니다.

* **디버깅 정보 제거:**  디버깅에 필요한 정보를 제거하여 앱의 크기를 줄입니다.

* **최적화된 컴파일:**  앱의 실행 속도와 크기를 최적화합니다.

* **서비스 확장 비활성화:**  불필요한 기능을 제거합니다.

* **코드 축소 및 트리 셰이킹:** 불필요한 코드 제거로 앱 크기 최소화

 

**Android Studio에서 릴리스 모드 빌드:**

 

`빌드 > flavor 선택 > 릴리스` 메뉴를 통해 빌드하거나, `실행 > 실행...` 메뉴의 실행 버튼을 사용하세요.  (버튼의 아이콘은 일반 실행 버튼입니다.)

 

**코드 예시 (Flutter 실행 및 빌드 명령):**

 

```bash

flutter run --release  // 실행

flutter build apk --release // 안드로이드 릴리스 빌드 (APK 생성)

flutter build ios --release // iOS 릴리스 빌드

```



![릴리스 모드 빌드 화면 예시](release_mode_screenshot.png) *(여기에 Android Studio의 릴리스 빌드 관련 화면 이미지를 넣어주세요)*



### 4. 숨겨진 영웅, 헤드리스 테스트 모드 👻

 

마지막으로,  **헤드리스 테스트 모드**는 UI 없이 자동화된 테스트를 실행할 때 사용합니다.  자동화된 테스트를 통해 앱의 안정성을 높이고 버그를 조기에 발견하는 데 도움이 됩니다.  자세한 내용은 Flutter의 공식 문서를 참고하세요!



이제 Flutter 빌드 모드에 대해 잘 이해하셨나요?  각 모드의 특징을 잘 파악하고 개발 단계에 맞는 모드를 선택하여 효율적인 개발을 진행하시길 바랍니다!