Flutter 일지 1 - 디렉터리 구조

jeungwonje·2022년 7월 2일
2
post-thumbnail

팀 내에서 기획이 마무리 되어 본격적으로 앱 개발을 준비해보려 한다. 이번 프로젝트에서는 앱 개발을 둘이서 진행해야 하기 때문에 여러가지 합의해야 할 사항이 많다. 하는 김에 다른 사람들이 개발을 준비할 때 도움이 될 수 있도록 과정을 velog에 적어보려고 한다.

디렉터리 구조 정하기

사실 flutter라고 해도 앱 개발의 디렉터리 구조는 거의 정해져 있다. 정적 파일 관리, 스크린 관리, 컴포넌트 관리, 상태 관리 등을 프레임워크의 특징에 따라 정하는 것이 중요하다. 나중에 어떤 디렉터리가 추가로 필요할 지는 잘 모르지만 일단 가장 기본적인 구조를 짜보려고 한다.

assets

정적파일을 관리하는 디렉터리입니다. 이곳에서는 strings, images, color code 등을 저장합니다. 작은 앱을 만들 때는 string이나 color 코드를 그냥 스크린이나 위젯에 넣는 경우도 있지만, 규모가 있는 프로젝트라면 따로 빼서 값들을 지정한 후 사용하는 것이 좋습니다.

screens

스크린들을 저장해 놓는 디렉터리입니다. flutter에서는 StatelessWidget, StatefulWidget을 상속 받은 위젯들을 정리한다고 생각하면 좋을 것 같습니다.

widgets

자주 사용되는 위젯들을 저장하는 디렉터리입니다. 자주 사용되는 위젯을 스크린마다 만드는 것은 코드의 가독성을 크게 해치고 앱이 무거워지게 만듭니다.

services

서버와 통신하는 디렉터리입니다. flutter에서는 dio 라이브러리를 통신 패키지로 많이 사용합니다.

utils

자주 사용되는 함수들을 모아놓은 디렉터리입니다. 주로 시간과 관련된 함수나, 앨범 접근 함수 등이 여기에 포함됩니다.

providers

상태 관리에 관련된 파일들을 모아놓은 디렉터리입니다. 데이터를 전역으로 가지고 있어, 많은 곳에서 사용되는 데이터를 관리하게 용이하게 만들어줍니다.

models

데이터 모델을 정리해 놓은 디렉터리입니다. 서버 api를 통해 데이터를 주고 받을 때나 위젯 간에 데이터를 주고 받을 때 오브젝트 단위로 관리할 수 있게 해줍니다.

이상 이번 프로젝트의 디렉터리 구조를 정리해 보았습니다. 부족한 점이 있거나, 틀린 점이 있다면 댓글 부탁드리겠습니다. 감사합니다

출처
https://www.geeksforgeeks.org/flutter-file-structure/

profile
안녕하세요~

0개의 댓글