brunch

매거진 5mm 앱개발

You can make anything
by writing

C.S.Lewis

by 홍기린 Dec 27. 2023

첫 번째 플러터 앱개발 후 생긴 궁금증

#001번째 앱 [ 텍스트게임 - 회사밖은 위험해 ] 개발 로그 (3)

처음으로 만든 플러터 앱 [ 회사밖은 위험해 ]. 나름 텍스트게임이다. ㅋ

플러터 강의를 5% 정도만 듣고 만든 앱이라서 엄청나게 허접하고 기술적으로 부진한 코드들로 가득하다. 나중에 앱 100개쯤 만들고 난 후에 보면 이걸 뭐 이렇게 만들었냨ㅋ 라고 웃을만한 코드가 아닐까싶다. 그럼에도 불구하고 앱을 만들어보고 싶은 건 강의만 듣는게 재미가 없었기 때문이다. 강의만 주구장창 들으면 흥미가 떨어진다. 그래서 문제에 직면하고 싶었다. 문제에 직면했을때 해결하고 싶어지고, 그때 해결안을 만나면 배움의 흡수도가 120%가 되는 느낌?


이번에 프로젝트를 진행하면서도 스터디할 것들이 많이 생겼다. 챗지피티한테 겨우 물어보면서 진행하긴 했는데... 가끔은 그런 생각이 든다. 얘 진짜 맞아?;;; "정말 맞아? 아닌 것 같은데?"라고 대답하면 "죄송합니다. 제가 잘못 알았습니다. 어쩌구 저쩌구..." 하는 경우가 거의 10번에 2-3번은 있는 것 같기에 챗지피티에 대한 신뢰도가 100%가 아니다. 그러다보니 얘가 하라는 대로 해서 되기는 되는데, 이게 과연 최선일까 하는 의구심이 남는다.


그래서 프로젝트 하면서 생겼던 의문들을 정리해보았다.



1. state를 update하는 방법

state 중에 map의 특정 필드값만 업데이트하고 싶을 때 어떻게 해야 하는지에 대해서 더 공부가 필요하다. 모든 필드 값을 일일이 넣어줄 수 없을 것 같다. 관련된 기술이 분명히 있을 거다.



2. 글자를 차례로 나타나게 하는 애니메이션

이건 개인적인 욕심인데, 아직 찾지 못했다. 애니메이션 효과를 주는 거에 대해서 더 알아가고 싶다. 플러터에서 애니메이션 효과를 어떻게 주는건지에 대한 공부가 필요하다.



3. 중복모드들의 리팩토링

어떻게 리팩토링을 해야 할지 아직 감이 좀 없다. 이번에 만든 건 사실 스토리별로 파일이 모두 별개로 만들었다. 정말이지 중복된 코드의 향연... 앞으로의 숙제가 있다면 이 파일들을 모두 없애고 '스토리 화면'과 '엔딩 화면' 이렇게 2개의 파일만 두고, 그 안에서 분기처리 할 수 있도록 하면 좋겠다. 파일을 굳이 만들지 않아도 되고 예를 들면 위젯의 children에 조건에 따라 넣고 빼는 걸로 할 수도 있을 것 같다.



4. navigation.push가 아닌, 화면간 이동을 어떻게 할 것인가?

나는 push만 배운 상태에서 개발을 했고 대략적인 개념만 가지고 진행하다보니 다른 응용이 어려웠다. push라는 건 sceen이 층층이 쌓이게 된다. 즉, 뒤로가기를 할 수 있는 상태가 되는데, 내가 원하는 건 뒤로가기가 아닌 완전한 전환이다.



지금 플러터 강의를 20% 정도 들었는데, 위에 생겼던 의문들이 어느정도 해결이 되고 있다. 재밌다 플러터!

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari