Flutter로 앱 개발을 시작하려면 가장 먼저 해야 할 일은?
바로 flutter create 명령어를 통해 프로젝트를 생성하는 것이다.
이 글에서는 이 명령어의 원리와 옵션들을 예시와 함께 정리해본다 ✍️
flutter create 프로젝트명
예:
flutter create byseungjeapp
위 명령어 하나로 아래와 같은 멀티 플랫폼 프로젝트가 생성된다:
하지만 여기서 진짜 중요한 건 "이 명령어가 무엇을 만들어 주느냐" 이다.
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는 나중에 변경하기 복잡하니 신중하게 설정하자!