해결된 질문
작성
·
130
1
안녕하세요 강사님,
현재 강의를 1회독한 상태입니다. 강의 시작 전에 말씀하신 것처럼 영상을 이해하고 논리적인 과정을 배웠습니다. 이후 부족한 부분만 개별적으로 실습을 하시라고 말씀을 하셨는데, 어떤 식으로 공부 계획을 세워야 할지 잘 모르겠습니다.
개인적으로는 전 과정을 다시 복습하면서 실습하는 것이 좋을지, 아니면 배운 내용을 바탕으로 실제 앱을 만들어보는 것이 좋을지 고민이 됩니다. 이 방법들이 맞는지, 아니면 강사님께서 추천하시는 더 나은 방법이 있는지 알고 싶습니다.
추가적으로 궁금한 점은 다음과 같습니다:
실제 강의를 보고 디자인 시스템을 통해 미리 기능을 고려하여 코드를 구현하고, MVVM 패턴을 적용하기 위해 폴더 구조를 짜는 것을 보며, 제가 이렇게 잘 따라하고 정리할 수 있을지 두려움이 생겼습니다. 그래서 질문드립니다.
디자인 시스템을 만들고 파운데이션을 구축한 후, 코드를 짜면서 필요한 컴포넌트를 만들고 재사용성이 높은 것들만 컴포넌트화하는 식으로 진행하는 것이 좋을까요? 아니면 강의처럼 미리 모든 컴포넌트를 다 작성한 후 코딩을 시작해야 할까요?
MVVM 패턴을 지키면서 코딩할 때, 처음부터 뷰와 뷰모델을 명확히 나누고 코드를 진행하며, 나머지 부분은 대략적으로 해놓고 이후 MVVM을 적용하여 리팩터링하는 것이 좋을까요?
실제 개인 프로젝트를 혼자 준비할 때 어떤 식으로 진행하면 좋을지 강사님께서 추천하시는 공부 방법을 알고 싶습니다.
감사합니다.
추가적으로 중급 강의를 먼저 보게 되었는데 너무 강의가 만족스러워서 추가적으로 강사님의 강의인 Flutter 앱 개발 기초를 들어야 고민이 듭니다... 이것도 들어봐야 하나요?
답변 1
1
안녕하세요. 김동혁님 남겨주신 질문 답변드립니다.
Q1) 1회독 이후 학습 방법
Flutter를 공부를 하는 이유가 앱을 만들고 운영하는 것이기 때문에 직접 앱을 만들며 학습하는 방법을 권장 드립니다. 배운 내용을 직접 구현해 보면서 본인이 어느정도 이해했는지 점검해 볼 수 있고, 부족한 파트만 찾아가며 효율적이게 복습하는 방식입니다.
추가로 강의에선 앱을 만드는 방법까지만 설명을 드렸지만, 실제 실무에선 앱을 런칭하고 운영하는데 많은 경험과 노하우가 필요하므로 만드신 앱을 출시하신 뒤 유저와 소통하는 경험까지 도전해 보시는 것도 권장 드립니다.
Q2) 디자인 시스템 구축 방법
실무에선 필요에 따라 컴포넌트 추가되거나 변경되기 때문에, 필요한 최소한의 기능을 가진 컴포넌트들을 기반으로 동작하는 앱을 만든 뒤 고도화하는 방법을 권장 드립니다.
실제 프로젝트 초기에 필요한 컴포넌트들은 아이콘, 버튼, 텍스트 입력란, 팝업창 그리고 바텀 시트 정도입니다. 그리고 디자인 시스템에는 정답이 없기 때문에 협업는 디자이너의 기획에 따라 구성이 많이 달라질 수 있기 때문에 강의에서 다룬 방식과 형식은 참고만 하시는 것을 권장 드립니다.
Q3) MVVM 학습 방법
앱의 관심사를 크게 3가지 레이어로 나누어 볼 수 있습니다.
Presentation : 화면 부분으로 MVVM 아키텍처로 관심사 분리를 수행합니다.
Domain : 실질적인 비즈니스 로직
Data : 데이터를 로컬에 저장하거나 서버로 보내는 로직
MVVM은 Presentaion 레이어만 담당하고, Domain과 Data 부분은 일반적으로 클린 아키텍처를 사용하여 관심사 분리를 수행합니다. 질문에 남겨주신 "나머지 부분"은 Domain과 Data 레이어로 생각되는데 해당 레이어를 관심사 분리하는 방법은 클린 아키텍처를 학습하셔야 할 것 같습니다. 그리고 아키텍처는 프로젝트 규모가 커진 뒤에는 리펙터링하는데 많은 시간과 노력이 들어가므로 일반적으로 초반에 잡고 시작하는 것을 권장합니다.
Q4) Flutter 앱 개발 기초를 들어야할까요?
기초 강의에선 Firebase의 Authentication과 Cloud Firestore 관련 내용을 추가적으로 다룹니다. 만약 Firebase 관련 내용이 필요하신 경우, 먼저 공식 문서와 인터넷에 있는 정보로 도전해 보시고 그래도 해결이 안 되시는 경우 수강하시는 것을 권장 드립니다.
수강해 주셔서 감사합니다 🙇🏻♂️