[Flutter] 대학생 맛집 프로젝트 후기

2AST_\·2022년 8월 31일
0

Flutter

목록 보기
4/4

학기를 마무리하면서 프로젝트도 끝이 났다. 실제로 출시는 못했지만 Flutter를 기본적으로 배우고 응용을 해봤다. 또한 강의 중 객체지향분석및설계와 연계하여 프로젝트를 진행하였는데, Flutter 이외에 객체지향 쪽으로 조금 더 배울 수 있게 되어 좋았던 것 같다. 그렇기에 오늘은 Flutter로 프로젝트를 진행하며 좋았던 것과 아쉬웠던 점을 나열해볼까 한다.

좋은 점

1. 객체지향적 설계


해당 사진은 맛집 프로젝트를 Class Diagram으로 표현한 것이다. 이외에도 시퀀스 다이어그램, 커뮤니케이션 다이어그램을 만들면서 로직들을 재차 점검할 수 있었고 또한 문서화가 얼마나 중요한지 알 수 있었다. 특히 Use Case의 개념을 이 수업에서 처음 알았는데 다음 프로젝트에서는 프로젝트를 진행하기 위한 준비과정이 중요함을 깨닫고 문서화를 하는 습관을 들여야 하겠다는 생각이 들었다.
또한 이따 아쉬운 점에서 설명하겠지만 프로젝트가 어느정도 진행된 과정에 수업을 들어 객체지향적으로 아쉬운 부분도 많은 점이 있다.

2. Flutter 개발

사실 Flutter의 전반적으로 전체를 안 것은 아니지만 그래도 구색을 갖출만큼 Flutter에 대한 지식을 습득할 수 있게 되었다. 평소와 같이 강의를 우선적으로 듣고 프로젝트를 구성한 것이 아니라 프로젝트를 먼저 설계하고 지식 습득을 동시에 하면서 필요성을 느끼게 되었다. 사실 하나의 개념을 공부하면 필요성을 느끼지 못하고 하라는 대로 해서 한 경우가 과반수 였는데 이번에는 왜 필요한지에 대해 많이 느낄 수 있었던 프로젝트라 더욱 인상이 깊었다.

아쉬운 점

1. 충분하지 못한 객체지향 설계

아까도 말했듯 싶이 아쉬운 부분이 많았다. 객체지향분석및설계라는 과목이 디자인 패턴을 집중적으로 다룬 것은 아니지만 꽤나 자세하게 디자인 패턴에 대해 얘기했음에도 불구하고 고작 내가 디자인 패턴을 사용한 것은 Singleton이랑 플러터의 Provider 패턴 이외에는 제대로 된 사용을 하지 못했다. 또한 중복되는 컴포넌트가 분명히 있음에도 이 또한 분리하지 않고 하나의 뭉터기로 진행하여 수정 과정에서 매우 불편한 상황을 야기하기도 하였다. 이러한 아쉬운 점들 덕분에 나중에 하게 된 또 다른 Project에서는 최대한 컴포넌트로 분리하려 하였고 이로 인해 수정이 간편해졌다. 역시 사람은 실패하면서 배우나 보다.

2. Flutter의 패키지

예전에는 Android를 만졌을 때, intent라는 개념을 통해서 갤러리의 사진을 주고 받는 어플리케이션을 만든 적이 있다. 이는 외부 라이브러리를 사용한 것이 아니라 직접 쉽게 구현할 수 있는 부분이다. (물론 처음이라 매우 헷갈렸지만). 플러터에서도 물론 이는 가능할? 것으로 보이지만 레퍼런스가 충분하지 않고 대부분 image_picker라는 외부 패키지를 사용하여 이를 해결하고 있는 듯 보였다. 하지만 특정 ios 시뮬레이터에서 이미지를 pick할 수 없는 issue가 있었다. 외부 패키지를 사용하면 간단한 것이 매우 많다. 안정성까지 보장된다면 패키지를 안 쓸 이유는 전혀 없다. 하지만 내가 느낀 바로는 Flutter의 외부 패키지는 강력하고 간편하지만 pubspec.yaml 파일에 늘어나는 패키지를 보면서 의존성이 좀 심한 것 같다는 생각이 들었다. 물론 왠만하면 문제는 없었고 사실 패키지를 사용하지 않고 구현할 수는 있겠지만... 내가 사용한 image_picker는 특정 ios버전에서 이슈가 있어 이를 테스트하려면 계속 실제 폰에서 테스틀 해야했다.

마무리

어느새 개강이 다가왔다. 나도 빨리 개강에 대비해야되는데...

0개의 댓글