Flutter로 첫 앱 프로젝트 만들기 💡

승제·2025년 7월 16일

Flutter로 앱 개발을 시작하려면 가장 먼저 해야 할 일은?
바로 flutter create 명령어를 통해 프로젝트를 생성하는 것이다.
이 글에서는 이 명령어의 원리와 옵션들을 예시와 함께 정리해본다 ✍️


✅ 기본 사용법

flutter create 프로젝트명

예:

flutter create byseungjeapp

위 명령어 하나로 아래와 같은 멀티 플랫폼 프로젝트가 생성된다:

  • Android
  • iOS
  • macOS
  • Windows (설정 시)

하지만 여기서 진짜 중요한 건 "이 명령어가 무엇을 만들어 주느냐" 이다.


📦 flutter create가 실제로 생성하는 것

flutter create 명령어는 단순히 파일을 생성하는 수준이 아니다.
Flutter SDK 내부 템플릿 시스템을 기반으로 다음을 자동 구성한다:

  • android/, ios/: 플랫폼별 네이티브 프로젝트 (Gradle, Xcode 기반)
  • lib/main.dart: 앱 진입점 (Flutter 앱의 시작 지점)
  • test/: 테스트 디렉토리
  • pubspec.yaml: 의존성, 앱 정보, 에셋 관리 파일
  • .gitignore, README.md, analysis_options.yaml 등 개발 편의 파일

즉, Flutter 앱을 만들기 위한 골격을 완성해주는 작업이다.


🔧 자주 쓰는 옵션 정리

앱을 생성하면서 한 번에 설정하면 좋은 옵션들을 정리했다 👇

📌 --org

앱의 패키지 이름을 정한다.
보통 도메인을 반대로 써서 고유 식별자를 만든다.

--org com.byseungje

💡 결과: com.byseungje.byseungjeapp 같은 형태의 패키지 ID 생성
👉 Android의 applicationId, iOS의 bundleIdentifier에 영향을 준다


📌 --project-name

프로젝트 이름 지정 (디렉토리명 = 앱명 기준).
⚠️ 소문자와 _(언더스코어)만 허용됨

--project-name byseungjeapp

💡 CLI 내부에서 이 값이 class 이름, 디렉토리 명 등에 영향을 줌


📌 --description

앱 설명. pubspec.yaml에 자동 반영된다.
(패키지로 배포할 때 중요한 메타 정보!)

--description "flutter를 생성하는 명령어에 대한 설명!"

📌 --platforms

필요한 플랫폼만 선택해서 생성 가능
필요 없는 플랫폼을 제거하면 불필요한 리소스와 설정을 줄일 수 있다.

--platforms=android,ios

💡 예: macOS, 웹을 지원하지 않을 경우 명시적으로 제외하는 것이 좋음


💡 실제 사용 예

나는 아래와 같이 명령어를 사용해서 프로젝트를 생성했다:

flutter create \
  --org com.byseungje \
  --project-name byseungjeapp \
  --description "flutter를 생성하는 명령어에 대한 설명!" \
  --platforms=android,ios \
  byseungjeapp

📁 생성된 디렉토리 구조

실행하면 아래와 같은 디렉토리 구조가 생성된다:

byseungjeapp/
├── android/          # 안드로이드 네이티브 프로젝트
├── ios/              # iOS 네이티브 프로젝트
├── lib/              # Flutter 코드 (main.dart 위치)
├── test/             # 테스트 코드
└── pubspec.yaml      # 앱 설정과 의존성 관리

🧠 왜 이런 옵션들이 중요한가?

생성형 AI 시대에 단순 명령어는 쉽게 찾을 수 있다.
하지만 왜 그 명령어를 써야 하는지, 어떤 설정이 앱의 구조에 어떤 영향을 주는지를 아는 건 여전히 중요하다.

  • --org: 나중에 앱 배포 시 충돌 방지 및 고유 식별
  • --project-name: 앱 코드의 기본 네이밍 컨벤션과 연결
  • --description: 패키지 관리와 메타데이터 관리를 위해
  • --platforms: 빌드 시간과 앱 크기 최적화

✨ 마무리

flutter create는 단순한 시작 명령이 아니다.
앱 구조, 플랫폼, 패키지 ID 같은 중요한 기초 설계를 설정하는 단계다.

🚀 처음부터 정확히 설정하면 나중에 수정할 일이 줄어든다.
🎯 특히 --org, --platforms는 나중에 변경하기 복잡하니 신중하게 설정하자!

profile
[⚙️ + 💡] 효율 속에서 창의성을 실험합니다.

0개의 댓글