본문으로 건너뛰기

Flutter 개발 환경 구축 및 첫 프로젝트 실행하기

· 약 4분
Braun Park
Curious Developer

최근에 사이드 프로젝트를 진행하게 되면서 앱서비스를 만들어 보고 싶었습니다. 그래서 많이들 사용하시는 Flutter를 이용해서 개발해보기로 했는데요, 이 포스트에서는 Flutter 개발 환경을 구축하고 첫 번째 프로젝트를 생성해서 실행하는 전체 과정을 단계별로 알아보겠습니다.

Flutter란?

Flutter는 Google에서 개발한 오픈소스 UI 프레임워크로, 하나의 코드베이스로 iOS와 Android 앱을 동시에 개발할 수 있게 해줍니다. Dart 언어를 사용하며, 뛰어난 성능과 아름다운 UI를 제공합니다.

플러터 로고

1. 사전 준비사항

Flutter 개발을 시작하기 전에 다음 요소들이 필요합니다:

공통 요구사항

  • Flutter SDK: Flutter 개발의 핵심
  • Dart 언어 지원: Flutter SDK에 포함되어 있음
  • 코드 에디터: VS Code, Android Studio, IntelliJ IDEA 등

플랫폼별 요구사항

Android 개발을 위해:

  • Android Studio 설치
  • Android SDK
  • 에뮬레이터 또는 실제 Android 기기

iOS 개발을 위해:

  • Xcode (macOS에서만 가능)
  • iOS 시뮬레이터 또는 실제 iPhone/iPad

2. Flutter 프로젝트 생성하기

기본 프로젝트 생성

터미널에서 다음 명령어로 새 Flutter 프로젝트를 생성할 수 있습니다:

flutter create my_app_name
cd my_app_name

특정 플랫폼만 지원하는 프로젝트 생성

iOS와 Android만 타겟으로 하는 경우 (웹, 데스크톱 제외):

flutter create my_app --platforms=android,ios

이 명령어로 웹이나 데스크톱 플랫폼 없이 모바일만 지원하는 깔끔한 프로젝트를 생성할 수 있습니다.

Flutter 프로젝트 생성 터미널 명령어 실행 화면

3. 개발 환경 설정

Flutter Doctor로 환경 확인

프로젝트를 시작하기 전에 개발 환경이 올바르게 설정되었는지 확인해봅시다:

flutter doctor

이 명령어는 Flutter 개발에 필요한 모든 구성 요소의 상태를 체크하고, 누락된 부분이 있다면 해결 방법을 알려줍니다.

flutter doctor 실행 결과 화면

필요한 패키지 설치

flutter pub get

4. 시뮬레이터/에뮬레이터 설정

Android 에뮬레이터 설정

  1. Android Studio 설치

    • Android Studio 다운로드
    • 설치 시 Android Virtual Device(AVD) 포함 선택
  2. AVD Manager에서 에뮬레이터 생성

    # 사용 가능한 에뮬레이터 확인
    flutter emulators

    # 에뮬레이터 실행
    flutter emulators --launch <emulator_name>

iOS 시뮬레이터 설정 (macOS만 가능)

  1. Xcode 설치

    • Mac App Store에서 Xcode 다운로드
    • 설치 후 한 번 실행하여 추가 컴포넌트 설치
  2. 시뮬레이터 실행

    # 시뮬레이터 열기
    open -a Simulator

    # 또는 Flutter 명령어로
    flutter run

5. Flutter 앱 실행하기

실행 가능한 기기 확인

먼저 연결된 기기나 실행 중인 시뮬레이터를 확인합니다:

flutter devices

앱 실행 방법

방법 1: 기본 실행

flutter run

방법 2: 특정 기기에서 실행

# 기기 ID 확인 후
flutter run -d <device_id>

# 예시
flutter run -d iPhone_14 # iOS 시뮬레이터
flutter run -d emulator-5554 # Android 에뮬레이터

방법 3: 에디터에서 실행

  • lib/main.dart 파일 열기
  • 에디터의 "Run" 또는 "Debug" 버튼 클릭
  • 또는 F5 키 (디버그 모드로 실행)

6. 개발 중 유용한 기능들

Hot Reload와 Hot Restart

Flutter의 가장 강력한 기능 중 하나는 빠른 개발 사이클입니다:

  • r: Hot Reload - 코드 변경사항을 즉시 반영
  • R: Hot Restart - 앱을 완전히 재시작
  • q: 앱 종료
  • p: 성능 오버레이 표시
  • o: iOS/Android 모드 전환

프로젝트 구조 이해

생성된 Flutter 프로젝트의 주요 폴더 구조:

my_app/
├── lib/
│ └── main.dart # 앱의 진입점
├── android/ # Android 관련 설정
├── ios/ # iOS 관련 설정
├── pubspec.yaml # 패키지 의존성 관리
└── test/ # 테스트 파일들

7. 문제 해결

자주 발생하는 문제들

에뮬레이터가 없는 경우:

# Android 에뮬레이터 생성
flutter emulators --create

# iOS 시뮬레이터 실행 (Mac만)
open -a Simulator

빌드 오류가 발생하는 경우:

# 클린 빌드
flutter clean
flutter pub get
flutter run

성능 모드로 실행:

flutter run --release

마무리

이제 Flutter 개발 환경이 완전히 구축되었습니다!

다음 단계로는:

  1. Flutter 위젯에 대해 학습하기
  2. 상태 관리 방법 익히기
  3. UI 디자인 패턴 적용하기
  4. 네이티브 기능 연동하기

Flutter의 강력한 기능들을 활용해서 멋진 모바일 앱을 만들어보세요.

궁금한 점이나 문제가 발생하면 Flutter 공식 문서를 참고하거나 커뮤니티의 도움을 받아보세요.


이 글이 Flutter 개발을 시작하는 데 도움이 되었기를 바랍니다.