이 글은 제 개인적인 견해를 바탕으로 작성되었으며, 일부 내용에 오류가 있을 수도 있습니다. 너그러운 마음으로 읽어주시면 감사하겠습니다.🙇♂️
나는 현재 Firmware를 전공하고 있는 학생이다. 평소에는 Embedded 시스템을 공부하며 펌웨어 개발에 집중해왔지만, 프로젝트에서 앱을 개발할 사람이 없어 내가 직접 APP을 개발하게 되었다. 하지만 Android와 iOS를 각각 따로 구현하기에는 부담이 컸고, 크로스플랫폼 개발이 가능한 Flutter를 사용하기로 결정했다.
Flutter를 사용하려면 먼저 Dart 언어를 익혀야 했다. 그래서 나는 노마드 코더의 Dart 강의를 수강하며 기본적인 문법과 개념을 익혔다.
👉 Dart 강의
Dart 강의를 마친 후, 본격적으로 Flutter 개발을 시작했다. 처음에는 Google과 ChatGPT의 도움을 받아 앱의 기능을 하나씩 구현해 나갔다. 이때까지는 꽤 즐겁게 개발을 진행할 수 있었다. (이때까지 나는 행복했다.)
하지만 점점 복잡한 기능을 구현하면서 문제가 발생하기 시작했다. 예를 들어 알림 신청, API 통신 같은 기능은 예상보다 훨씬 어려웠다. 그래도 어떻게든 기능을 구현하며 앱을 만들어가고 있었는데, 점점 원인을 알 수 없는 오류들이 하나둘씩 나타나기 시작했다.

처음에는 하나씩 오류를 수정해 나갔다. 하지만 하나를 고치면 두 개가 생기고, 다시 수정하면 네 개로 불어났다. 😱
가장 큰 문제는 코드 구조였다. 기존의 Firmware 개발 습관대로 하나의 파일에 모든 코드를 작성했기 때문에 유지보수하기 어려운 상태가 되어버렸다. 코드가 엉망진창이었고, 수정할수록 새로운 오류가 발생하는 악순환에 빠졌다.
결국 큰 결심을 하고 일주일 동안 코드 구조를 정리하는 데 집중했다. 이 과정에서 많은 사람들의 도움을 받을 수 있었고, 코드의 유지보수성과 가독성을 높일 수 있었다.
코드 구조를 개선한 후에는 디버깅도 훨씬 쉬워졌고, Flutter 개발에 대한 자신감도 생겼다. 완성된 앱이 대단한 것은 아니지만, 처음 해보는 경험이었기에 의미 있는 도전이었다.