[Flutter] 처음 시작하는 개발자를 위한 프로젝트 구조 가이드

서연·2025년 9월 23일
post-thumbnail

📖 Flutter 기초 다지기

📌 프로젝트 구조 // 새 프로젝트를 만들면 자동으로 여러 폴더와 파일이 만들어짐
----------------------------------------------------------------
📌 lib 폴더 // 핵심 무대로 직접 코드를 작성하는 공간
     └── 앱을 수정하거나 기능을 추가할 때 거의 이 폴더에서 작업함
----------------------------------------------------------------
📌 android, ios, Linux, Web, windows 폴더
     └── 네이티브 코드가 들어가는 공간
----------------------------------------------------------------
📌 test 폴더 // 실험실 느낌
     └── lib에서 작성한 코드가 정상적으로 작동하는지 확인하는 테스트 코드를 넣는 곳
----------------------------------------------------------------
📌 pubspec.yaml 폴더 // 메뉴판 느낌
     └──  어떤 패키지를 쓸 지 적어둠
----------------------------------------------------------------
📌 pubspec.lock 폴더 // 잠금장치
     └── 패키지가 어떤 버전으로 설치됐는지 기록
----------------------------------------------------------------
📌 .gitignore 폴더 // 쓰레기, 비밀 상자
     └── 올리면 안 되는 파일
----------------------------------------------------------------
📌 analysis_options.yaml 폴더 // 코드 검사 규칙북
     └── 코드 스타일이나 에러를 자동으로 체크해주는 규칙이 적혀있음
----------------------------------------------------------------
📌 .metadata 폴더 // 여권 느낌
     └── 프로젝트의 속성 정보 기록장
----------------------------------------------------------------
📌 .dart_tool 폴더 // 개인 도구 상자
     └── 도구 상자 같은 폴더로 GitHub에 올릴 필요 없음
----------------------------------------------------------------
📌 .idea 폴더 // 개발자 책상 설정
     └── IDE 전용 설정 폴더
----------------------------------------------------------------
📌 .iml 폴더 // 개발자 책상 설정
     └── Android Studio에서 쓰는 프로젝트 관리 파일
----------------------------------------------------------------
📌 README.md 폴더 // 프로젝트 소개 책자
     └── 무슨 앱인지 설치 방법은 어떻게 되는지 적힘
----------------------------------------------------------------
📌 패키지 // GPS, Bottom Navigation Bar
     └── 개발자들이 자주 쓰는 기능들을 미리 만들어 둔 도구 상자
----------------------------------------------------------------
📌 패키지 추가 방법
     ├── Pubspec.yaml 직접 수정 // pub.dev 사이트에서 패키지 검색해서 dependencies 항목에 추가
     └── 터미널에서 명령어로 추가 // flutter pub add [패키지 이름]으로 입력하면 pubspec.yaml에 자동 추가
----------------------------------------------------------------
📌 Widget // UI를 만드는 가장 작은 블록
     ├── StatelessWidget // 변하지 않는 화면
     └── StatefulWidget // 상태가 변할 수 있는 화면
----------------------------------------------------------------
📌 main.dart 실행 흐름
     ├── 앱 실행 시 main() 함수 호출
     ├── runApp() 함수가 불리면 화면 만들기 시작
     └── MyApp 안에서는 보통 MaterialApp이라는 Widget 리턴
----------------------------------------------------------------
📌 MaterialApp // 구글 디자인 따라감 , 그림 일기 공책
     ├── 앱을 만들 때 제일 최상단에 두는 틀
     └── CupertinoApp은 애플 디자인을 따라감
----------------------------------------------------------------
📌 Scaffold // 그림 일기의 한 장
     └── 각 화면의 기본 틀을 잡아주는 위젯

0개의 댓글