Flutter로 가장 먼저 만들어볼만한 앱이 뭐가 있을까?
바로 "계산기"다.
서버가 필요없는 앱이고, 복잡한 시나리오 없이 사칙연산만 잘되면 된다.
Sequence Diagram, ERD, 이런 거 다 필요 없는 거다.
MVC, MVVM 같은 거 고민 안해도 된다.
반면 늘 손에 익는 계산기가 없었다.
단순 계산은 그냥 암산하고, 복잡한 계산은 엑셀 쓰면 된다.
공학용 계산기는 고등학교 졸업 후 한 번도 열어본 적이 없다.
부가세 계산, 연비 계산도 많은데, 솔직히 쓸 일이 거의 없다.
가게 있는 분이라면 큼지막한 아나로그 계산기가 좋고,
연비 계산도 그냥 차에 뜨는 걸 보는 게 좋다.
생각보다 손에 잘 잡히지 않는게 계산기다.
그래서 직접 만들어 보기로 했다.
계산기 앱
만들기 시작한지는 벌써 1년이 다되어간다.
8월부터 만들기 시작했으니, 흠...
그런데 간단한 기능, UI임에도 불구하고 한 번에 안 만들어진다.
남들처럼 만들고 나니 굳이 왜 만들었나 싶다.
그래서 한동안 설치해놓고 안 썼다.
그러다 문득 정신이 든다.
내가 쓰지 않으면 남도 안 쓴다.
나를 설득시키지 않으면 남을 설득시킬 수 없다.
기능이 문제가 아니라 내가 문제였다.
뭘 만들고 싶은지 내가 정하지 못했던 거다.
기업 프로젝트할 때는 한 번도 생각해본 적이 없던 주제다.
보관함
이거 필요했다.
히스토리 기능은 대부분 계산기에 있다.
그런데, 한 화면에 안 보인다.
꼭 눌러서 한 단계 더 들어가야 한다.
우리 엊그제 얼마 먹었지?
어떻게 N빵 해야 하지?
아, 그 때 한 명 더 계산해야했지.
엊그게 계산한 거 찾기가 어렵다.
그래서 늘 다른 메모에 적게 된다.
귀찮다.
히스토리가 한 화면에 보이면 좋겠다.
그래서 보관박스 개념을 넣어버렸다.
당연히 히스토리 클릭하면, 이어서 수식을 입력할 수 있다.
고친 다음 다시 저장하고, 지난 건 지워버리면 된다.
오, 쓸만한데?
음력 계산기
나는 옛날 사람이다.
어머니 생일, 아버지 제사.
이런 건 음력으로 챙긴다.
그런데, 누가 음력 생일 지낸다고 하면 잘 모르겠다.
궁금한데 음력 변환앱이 너무 과하다.
광고가 너무 많다.
맘 먹고 앱을 깔았는데, 광고 천지다.
에고 하나 만들자.
특히 음력 달력이 마음에 안든다.
토정비결 볼 때, 음력 날짜가 다르다.
잉, 왜 같은 날짜인데, 음력 날짜가 다르지?
직접 짜봐야겠군.
아, 제목을 붙이자.
"OOO 생일", "OOO 기일" 등
이제 자주 꺼내보게 된다.
음력에 대한 궁금증을 금방 풀 수 있게 되었다.
디데이 계산기
학생들만 디데이를 관리하는 게 아니다.
운동 시작한지 몇일 째,
다음 검진날짜 몇일 째,
이런 거도 알고 싶을 때가 있다.
그런데 디데이 어플들이 다 과격하다.
과도한 광고에 알람이 무지막지하게 크다.
시끄럽고 정신 없다.
그냥 조용히 날짜만 알고 싶은데.
그래서 만들었다.
제목도 붙이고 몇 가지 기능을 넣어봤다.
음, 괜찮은 거 같다.
날짜 계산기
3월 12일부터 5월 20일까지면, 날짜가 몇일이지?
이거 생각보다 암산이 잘 안된다.
특히 시간차이까지 계산해야 할 때가 있다.
역시 암산이 잘 안된다.
그래서 만들었다.
역시 제목을 붙일 수 있게 했다.
괜찮다.
제작 소감
State Machine 을 만들고, MVVM 으로 분리했다.
Cursor AI 가 꽤 도와주니 코딩은 쉬운 편.
하지만 코드가 길어져서 읽기 힘들었다.
검증해야 하는데, 자꾸 왔다갔다 한다.
귀찮다. 몇 줄 안되니 그냥 짰다.
코드 보기 훨씬 편해졌다.
제일 어려웠던 건, Why 를 해결하는 일이었다.
조용히 맞춰가며 사는 스타일이다 보니, 딱히 원하는 게 없었다.
그런데 내가 왜 이걸 만드는지 정하지 못하면 기능을 상상할 수 없었다.
화면 레이아웃도 정하지 못했으니.
몇번을 넘게 갈아 엎었는지 모른다.
중요한 건 역시 "Why" 다.
이젠 자꾸 열어보게 된다.
뭘 고쳐야 하는지도 보인다.
내가 이 앱을 사용할 수 있게 된거다.
하지만, 출시는 역시 요원하다.
계산기 앱이 너무 많다.
상품성이나 경쟁력을 가지는 건 다른 문제인 거 같다.
github
지금은 코드가 완전히 달라졌지만, 초반에 해매면서 짰던 0.0.0.1 버전...
Flutter 처음 개발할 때 감 잡기에 좋다.
- https://github.com/subokim/firstcalc.git
GitHub - subokim/firstcalc: Flutter exercise project
Flutter exercise project. Contribute to subokim/firstcalc development by creating an account on GitHub.
github.com
끝.
'프로젝트 > 개발일지' 카테고리의 다른 글
두번째 플러터앱 : 복약수첩 개발중 (0) | 2025.05.26 |
---|---|
Flutter, 며칠 째 구조로 고민 중 (AI와 함께 개발) (4) | 2024.12.27 |
추상화, 리팩토링 중 느낀 점 (AI와 함께 개발) (0) | 2024.12.10 |
두 번째 앱 개발 시작 (AI와 함께 개발) (8) | 2024.11.28 |
Flutter : 나를 괴롭혔던 SDK Version 불일치 (11) | 2024.11.06 |
댓글