[플러터] 프로젝트 구성 알아보기
플러터(Flutter)는 구글에서 개발한 오픈소스 UI 소프트웨어 개발 키트입니다. 플러터 프로젝트를 처음 접하면 폴더와 파일이 많아서 혼란스러울 수 있습니다. 이번 포스트에서는 초보자를 위한 플러터 프로젝트 분석 방법과 폴더 구성에 대해 알아보겠습니다.
플러터 프로젝트 폴더 구성
플러터 프로젝트를 처음 생성하면 android, ios 등 여러 가지 폴더와 파일이 자동으로 생성됩니다. 이들은 플러터 앱 개발을 위한 기본적인 구조를 제공합니다. 아래는 플러터 프로젝트 생성 시 기본적으로 생성되는 폴더와 파일입니다:
android/:
안드로이드 앱 관련 설정 파일이 포함되어 있습니다.
- app/: 안드로이드 애플리케이션의 소스 코드 및 리소스가 포함된 폴더입니다.
- gradle/ 및 .gradle/: Gradle 빌드 시스템과 관련된 파일들이 포함되어 있습니다.
- build.gradle: 프로젝트 수준 및 모듈 수준의 Gradle 빌드 스크립트입니다.
이 폴더의 구성은 안드로이드 스튜디오에서 안드로이드 네이티브 앱 프로젝트를 생성할 때와 같습니다.
ios/:
iOS 앱 관련 설정 파일이 포함되어 있습니다.
- Runner.xcworkspace/ 및 Runner.xcodeproj/: Xcode 프로젝트 파일입니다.
- Podfile: 코코아팟(CocoaPods) 종속성 관리 파일입니다.
이 폴더의 구성은 안드로이드 폴더와 마찬가지로 Xcode에서 iOS 네이티브 앱 프로젝트를 생성할 때와 같습니다. 직접 이 폴더를 열어 작업하는 경우는 많지 않지만 네이티브만이 가진 기능을 사용할 때는 직접 파일을 열어 코드를 추가하거나 수정합니다.
lib/:
플러터 애플리케이션의 Dart 소스 코드가 포함되어 있습니다. 주요 소스 코드가 이 폴더에서 작성되고 주로 앱의 핵심 기능과 UI를 정의합니다.
- main.dart: 애플리케이션의 진입점이 되는 파일입니다. main.dart 파일은 앱의 시작점입니다. 앱이 실행되면 가장 먼저 이 파일이 실행됩니다. 이 파일에서 플러터 위젯 트리를 구성하여 화면을 구성합니다.
빌드 시 lib 폴더에 있는 다트 파일이 각 플랫폼별 앱에 자동으로 포함됩니다.
test/:
유닛 테스트와 위젯 테스트 파일이 포함되어 있습니다. 이 폴더에도 Dart 파일이 들어갑니다. 주로 앱에 필요한 기능들이 제대로 작동하는지 확인할 때 사용됩니다. 테스트 코드를 작성하면 코드의 품질을 높이고, 버그를 사전에 방지할 수 있습니다.
참고로 앱을 빌드할 때 test 폴더에 있는 파일들은 포함되지 않습니다. test 폴더는 앱의 테스트를 위해 사용되며, 빌드된 앱에는 포함되지 않습니다.
build/:
프로젝트 빌드 출력 파일들이 저장되는 폴더입니다.
pubspec.yaml:
프로젝트의 메타데이터, 종속성, 리소스 등을 정의하는 파일입니다. 이 파일에서 패키지와 플러그인을 추가하거나 설정할 수 있습니다. pubspec.yaml 파일은 프로젝트의 중요한 설정 파일입니다. 이 파일에서 앱에 필요한 패키지(다른 사람들이 만들어 놓은 코드 모음)를 추가할 수 있습니다. 예를 들어, 네트워크 기능을 추가하려면 관련 패키지를 여기에 추가합니다.
pubspec.lock:
현재 프로젝트에 설치된 패키지의 버전을 잠그는 파일입니다. pubspec.yaml에 정의된 패키지의 버전이 업데이트되지 않도록 합니다.
.gitignore:
Git으로 버전 관리를 할 때 추적하지 않을 파일 및 폴더를 정의하는 파일입니다.
결론
플러터 프로젝트를 처음 접하는 초보자라도 위의 단계를 따라가면 프로젝트 구조를 이해하고 필요한 부분을 수정할 수 있습니다. 플러터의 폴더 구성과 각 파일의 역할을 이해하면, 더 효율적으로 앱 개발을 진행할 수 있습니다. 계속해서 연습하고, 다양한 프로젝트를 시도해보세요. 플러터의 매력을 더욱 잘 느낄 수 있을 것입니다.