이 사진은 Flutter 프로젝트의 디렉터리 구조를 보여줍니다. 각각의 폴더와 파일들은 다음과 같은 목적을 가지고 있습니다:
- .dart_tool: Dart 도구가 사용하는 파일들을 저장합니다. 빌드 시스템에 의해 생성된 파일이나 패키지 관련 데이터 등이 포함될 수 있습니다.
- .idea: 이 폴더는 IntelliJ IDEA 또는 Android Studio와 같은 JetBrains의 IDE에서 프로젝트 설정을 저장합니다. 이 폴더에는 IDE 특정 설정 파일이 포함되어 있습니다.
- android: 이 폴더에는 Android 앱을 위한 특정 소스 파일과 빌드 설정이 포함되어 있습니다. 예를 들어,
AndroidManifest.xml
, gradle 스크립트 등이 여기에 있습니다. - build: Flutter 앱을 빌드할 때 생성되는 모든 중간 파일과 최종 아웃풋이 저장되는 곳입니다. 이 폴더의 내용은 보통
.gitignore
파일에 의해 버전 관리에서 제외됩니다. - ios: iOS 앱을 위한 특정 소스 파일과 빌드 설정이 포함되어 있는 폴더입니다.
Info.plist
, Xcode 설정 파일 등이 여기에 포함됩니다. - lib: Dart 코드 파일들을 저장하는 주요 폴더입니다. 여기에는 앱의 대부분의 로직과 인터페이스가 구현되어 있습니다. 주로
.dart
파일들이 이곳에 위치합니다. - linux: Linux 데스크톱 앱을 위한 특정 코드와 설정 파일이 있는 폴더입니다.
- macos: macOS 데스크톱 앱을 위한 특정 코드와 설정 파일이 있는 폴더입니다.
- test: 앱의 단위 테스트, 위젯 테스트, 통합 테스트 등을 저장하는 폴더입니다.
- web: 웹 앱을 위한 특정 코드와 설정 파일이 있는 폴더입니다.
- windows: Windows 데스크톱 앱을 위한 특정 코드와 설정 파일이 있는 폴더입니다.
- .gitignore: Git 버전 관리에서 제외할 파일 목록을 지정하는 파일입니다.
- metadata: 프로젝트의 메타데이터를 저장하는 파일입니다.
- analysis_options.yaml: Dart의 정적 분석 도구에 대한 설정을 지정하는 파일입니다. 여기서는 코드의 품질을 유지하기 위한 룰을 정의합니다.
- pubspec.yaml: Flutter 프로젝트의 메타데이터와 종속성을 지정하는 중요한 파일입니다. 앱의 이름, 버전, 종속성 라이브러리 및 애셋(이미지, 폰트 등)을 설정합니다.
- pubspec.lock:
pubspec.yaml
에 지정된 종속성의 구체적인 버전을 잠그는 데 사용되며, 프로젝트가 일관된 종속성을 사용하도록 보장합니다. - README.md: 프로젝트의 개요, 설정 방법, 사용 방법 등을 설명하는 마크다운 파일입니다.
이 디렉터리 구조는 Flutter 프로젝트를 위한 기본적인 구조이며, 이를 바탕으로 개발자는 앱을 개발, 테스트, 빌드 및 배포할 수 있습니다.