뒤로
이승민
이승민 ·

3개월동안 8개의 앱을 만든 후 회고 :)

IMG_29C5A39937A6-1.jpeg

안녕하세요. 별일 없으셨는지요? ㅎㅎ

디스콰이엇에는 두번째로 쓰는 글 입니다. 첫번째 글은 5개월 전에 올렸던 다른그림찾기 웹사이트에 관한 글이었더랬죠.

공개적인 곳에서 만든것을 공유한다는 게 원체 민망합니다. 제 부족함을 여실히 드러내는 것 같아서요. 디스콰이엇은 무언가 만드는 분들께서 모인 공간이니 이러한 부담을 좀 덜고 글을 써 봅니다.

지난 8월 말부터 11월 말까지 약 3개월간 8개의 앱을 만들었어요. 처음부터 혼자서 만든 앱은 7개 이구요.

휴튼은 함꼐 만든 앱인데요. 보여지는 부분을 주로 담당하여 만들었습니다. 그 과정은 @오영준 이 메이커로그로 매우 재미나게 작성해 주었어요.

  • 하이브리드앱(Flutter) 6개

  • macOS 앱 1개

  • iOS 앱 1개

이렇게 8개를 만들었습니다. 약간은 뜬금없는 macOS 앱과 iOS앱은 외주로 만든 앱입니다 ㅎㅎ..

회사를 벗어나 혼자서 처음부터 끝까지 앱을 만들어보긴 거의 처음입니다. 혼자 만들다보니 참으로 적적했습니다. 회사에서 알게 모르게 여러 지원을 받고 있었다는 사실을 회사를 나오고나서야 비로소 깨달았습니다. 혼자 일해보니 참으로 겸손해집니다.

아무튼 바로 앱들을 소개해드리고 느낀 점을 끄적여봅니다..

퍼즐 미끄덩!

어렸을 때에 한번쯤 해 보았을 슬라이딩 퍼즐 게임

앱스토어

구글플레이

소개

저는 Brain teaser류의 게임을 좋아합니다. 뭐랄까요.. 치매예방에 도움이 될 것만 같아요. 백엔드도 없고 오직 Dart 코드로만 이루어진 참 심플한 앱입니다. 타일을 터치해서 순서대로 타일의 배열을 맞추면 됩니다.

배경

“혼자서 앱을 많이 만들어보겠어!”하고 호기롭게 시작했습니다.

경험이 없었지만 기술스택은 Flutter로 선택했어요. RN으로 딱 한번 앱을 만든 경험이 있었는데, RN보다는 Flutter가 더 나을 것 같단 생각을 했습니다. 이유는 Flutter의 공식문서가 친절했기 때문이에요 ㅎㅎ..

간단한 앱을 만들면서 Flutter를 손에 익히는 것이 “퍼즐 미끄덩”을 만드는 제 목적이었습니다.

후기

  • 일주일 정도 걸렸습니다.

  • 개발하면서 Flutter의 매력에 푹 빠졌습니다. 친절한 문서, 친절한 튜토리얼 영상.

  • Material Design3의 위대함을 배웠습니다. 앱이 예뻐지는 것을 보고 신이 났습니다.

  • 퍼즐 미끄덩을 개발하면서 사업자등록도 했습니다. 유료결제 기능에는 사업자가 필요하단 걸 알았습니다.

  • 또한, “심사가 이렇게 빡센 것이구나…”하고 깨달았습니다.

농업 사전

농업 관련한 단어를 모아놓은 사전

앱스토어

구글플레이

소개

농업 사전입니다. 농업 단어를 넣어두고 검색할 수 있게 해두었습니다. 북마크, 검색히스토리 기능이 있고 암기를 위한 카드와 단어퀴즈가 있습니다.

배경

퍼즐 미끄덩! 을 출시하고나서 자신감이 붙었습니다. 이번엔 백엔드도 붙여야겠다고 생각했어요. 조금씩 복잡한 걸 만들어야겠단 생각이었습니다.

한편, 어떤 앱을 만들까 하다가 농업 사전을 만들게 되었습니다. 사담입니다만 저는 취미로 농학을 공부중입니다. 농학을 공부한다는 표현이 좀 웃기긴 합니다만, 아무튼 방송대 농학과에 재학중입니다. 생각보다 농학/농업 관련한 앱이 별로 없단걸 알고 농업사전을 만들었습니다.

후기

  • 일주일이 조금 안 걸렸던 것 같습니다.

  • Firebase는 편한듯 불편했습니다.

  • Flutter에는 예쁜 위젯들이 참 많고 가져다 쓰면 되니 참으로 편합니다.

  • 데이터 관리를 어떻게 할까 고민이었는데, DB에 다 넣어두고 앱 실행시 전부 fetch 하는 것으로 구현했습니다. Text만으로 되어있다보니 부담이 없더라구요.

로그로그

나만의 목공 기록장

앱스토어

구글플레이

소개

목공 기록장입니다. 내가 만들고있는 작품에 대한 기록(로그)을 남길 수 있습니다. Log에는 '통나무'라는 뜻과 '기록하다'라는 뜻이 있다보니, ‘로그로그’는 목공 기록장 앱 이름으로는 참 좋은 이름이라 생각합니다.

인스타그램 게시물처럼 사진과 글을 쓸 수 있고, 내가 만든 작품에 대한 정보를 쓸 수 있습니다.

배경

몇달 전, 회사 동료분의 집들이에 갔었습니다. 집에 직접 만드신 가구로 가득하더라구요. 바로 그 다음주에 목공 클래스를 등록해서 배우기 시작했습니다. “농업 사전”과 비슷한 맥락입니다. 목공 관련한 앱이 없더라구요? 그래서 만들었습니다. 가구를 만드는 과정이 길기 때문에 목공기록장을 만들면 좋겠다는 생각이었습니다.

후기

  • 이주일 정도 걸렸던 것 같습니다.

  • 완성도가 떨어지기에 가장 불만족스러운 앱입니다. 기획을 명확히 하지 않고 개발을 하게되면 어떤 문제가 생기는지 배울 수 있었습니다. 앞선 두 개의 앱은 매우 간단한 앱이다보니, 개발하면서 기획을 수정해도 별 문제가 없었습니다. 반면 로그로그는 음… 정말 지져분하게 만들어졌습니다.

  • 이를통해 기본적인 CRUD 만 들어가도 기획이 엄청 복잡해진다는 것을 몸소 체험했습니다. 특히 자연스러운 플로우를 짜는 것이 1. 어렵고 2. 중요하다 는 것을 느꼈습니다. 회사에서 일할 때에는 몰랐던 부분이지요. “디자이너께서 다 준비해 놓으신 것을 나는 그저 숟가락으로 떠먹기만 했구나..” 라는 생각을 했습니다.

  • 그치만 덕분에 많이 배울 수 있었습니다. 다른 앱들의 플로우도 살펴보고, 요소들의 위치도 살펴보았습니다. 카카오톡과 토스, 인스타그램을 많이 참고했습니다.

Dad’s puzzler

갇혀있는 블록을 움직여라!

앱스토어

구글플레이

소개

100여년 전 미국에서 만들어진 퍼즐 게임입니다. 좌측 상단의 커다란 정사각형 블록을 정해진 위치로 옮기는 게임입니다.

배경

이 퍼즐을 알고 계셨나요? 저는 목공 책에서 보았습니다. 목공책에 나무로 이 퍼즐을 만드는 챕터가 있었어요. 아하! 앱으로 만들어야겠단 생각을 했습니다.

로그로그를 만들면서 제 부족함을 깨닫고 조금 침울했어요. 그래서 Dad’s puzzler는 조금 즐기는 마음으로 만들었습니다.

후기

  • 이주일 정도 걸린 것 같아요

  • 생긴건 언뜻 퍼즐 미끄덩이랑 비슷한데, 구현 로직은 아예 다릅니다. 퍼즐 미끄덩!은 퍼즐 로직이 배열로 이루어져 있습니다. [1,2,3,4,5,6,7,8,9,0]으로 배열이 맞추어지면 퍼즐이 클리어되는 것이지요. 배열에 따라 row, col의 위치를 구해서 타일을 이동시키는 방법으로 구현해 놓았습니다.

  • 반면 Dad’s puzzler는 Box2D(=forge2D)라는 2D 물리엔진을 사용했습니다. 확실히 재밌었어요! 정사각형 블록과 별표가 충돌할 때에 게임 클리어 처리하였습니다. 복잡한 로직은 생각하지 않고 직관적인 개발이 재밌더라구요. 아! 이런 게임개발도 재미있겠구나. 라는 생각을 했습니다.

  • 요즘 유행(?)하는 수박게임 같은 것도 어찌보면 참 직관적인데 재밌습니다. 여러모로 물리엔진를 쓰면 재미난 걸 만들수 있겠다는 생각을 했습니다.

Touch basketball

굴러오는 농구공을 터치해서 골을 넣어라!

앱스토어

구글플레이

소개

화면 좌우에서 농구공이 굴러옵니다. 굴러오는 공을 타이밍에 맞게 터치해서 골을 넣어야합니다

배경

Dad’s puzzler의 개발이 꽤 재밌었어요. 물리게임을 하나 더 만들고 싶었습니다. 여러분의 쇼츠에는 어떤 영상이 뜨나요? 저는 종종 릅신의 영상이 나옵니다. 쇼츠의 영향이 있었을까요? 물리게임에는 역시 농구가 적절하다고 생각했어요.

후기

  • 이주가 좀 안 걸렸던 것 같아요

  • 이번에는 개발 외적으로 재미있었습니다. 게임 에셋을 직접 그리는 게 재미있었습니다. 앞서 만들었던 앱들은 제가 디자인할 것들이 전혀 없었거든요. 앱 아이콘은 Dall-E 로 만들었습니다. 딱히 디자인 할 게 없었어요.

  • Touch basketball의 경우엔 게임 공간을 그려야겠습니다. 어떻게 그리지.. 하다가 Aseprite라는 픽셀 그리는 앱을 스팀에서 샀습니다. 사용 방법을 확인하고는 농구공, 농구코트, 백보드와 배경을 그렸습니다.

  • 에셋을 쓰자니 앱의 톤이 일정하지 않을 것 같더라구요. 물론 잘 가져다 쓰는게 더 예뻤을 것 같긴 합니다.

  • 여러모로 물리게임의 매력에 좀 더 빠졌습니다. 햅틱피드백이나 사운드 효과를 넣어 좀더 게임다운 게임으로 만들자는 욕심이 납니다만 적용하진 못했습니다.

    ball_animation.gif농구공 귀엽죠? ㅎㅎ

휴튼

AI가 던져주는 나만의 1:1 맞춤형 질문

앱스토어

구글플레이

프로덕트 소개글

개발기

후기

  • 삼주 정도 걸렸던 것 같습니다

  • 여러모로 즐겁게 작업했습니다. 잘 정돈된 기획과 디자인이 있으니 개발하기 정말 편했습니다. 그리고 편한 것 이상으로 재미있었습니다. 친구와 즐겁게 일할 수 있다는건 정말 감사한 일이지요.

  • 기획의 힘을 다시금 느꼈습니다. 시야가 넓어졌다고나 할까요? 개발을 주로 했기에 시야가 좁아졌던 것 같습니다. 혼자 만들어오다가 협업을 하게되니, 제가 어떤 점이 부족했는지 더 여실히 느낄 수 있었습니다.

  • 좋은 경험을 하게 해주어서 감사한 마음입니다.

Photogrammetry App for iOS & macOS

사물을 여러 각도에서 촬영하고 나면 3D로 만들어주는 Photogrammetry iOS 앱과

이미지 파일들을 받아서 3D로 만들어주는 Photogrammetry macOS 앱

스크린샷, 2023-12-06 오후 11.38.26.jpeg

링크가 없으니 이미지를 첨부합니다. 집에있는 홈키파(...)를 찍어서 3D파일로 변환한 결과입니다.

후기

  • 전 회사에서 외주를 받아 작업한 앱입니다. 역시 금융치료가 최고인 듯 합니다 :)

  • 개발은 Swift로 했습니다. 한창 Flutter로 개발하다가 Swift(및 SwiftUI)로 개발을 하게되니 재미있었습니다! 언어만 바꾸어도 리프레시가 됩니다!

  • 할줄 아는 언어가 많은것도 아닌데, 이렇게 오랜만에 다른 언어를 쓰면 기본적인 문법이나 메소드들이 헷갈립니다... 이럴때에는 부끄럽지만… chatGPT의 도움을 받았습니다.

  • macOS 앱은 처음 만들어보았습니다. SwiftUI... 역시 편합니다 ㅎㅎ..

  • AR, MR이 언제쯤 상용화 될지 궁금해집니다. 얼른 그런 세상이 왔으면 좋겠네요.

마무리

  • 길다면 길고 짧다면 짧은 3개월 동안 여러 앱을 만들었습니다. 조금씩 만들어보면서 작지만 저만의 노하우도 좀 생긴 것 같습니다. 오랜만에 많이 배울 수 있는 시간이었습니다.

  • 이렇게 회고와 더불어서 나름대로 배운 것들은 개인적으로 정리했습니다. 아마 앞으로도 계속 앱을 만들 터이니 점점 더 나아지지 않을까 싶습니다. 지난 3개월 동안 개발뿐 아니라 기획, 디자인 적인 부분들도 많이 배울 수 있었습니다.

  • 저는 정말 개발 이외에는 아무것도 몰랐다는 걸 알게 되었습니다.

  • 호기롭게 시작했지만 역시 해보고 나니 한 없이 겸손해집니다.

  • 혼자 일하면 편하긴 하지만 역시 조금은 적적합니다. 이럴 때에 같이 이야기 나눌 친구들이 있어서 다행입니다.

  • Flutter로 게임 앱 개발을 하신다면 Filip Hráček 유튜브를 추천합니다.

단상들을 나열하다보니 이렇게 두서없이 쓰게 되네요. 사실 하고싶은 말이 너무 많은데 정리가 잘 안 되는 것 같습니다. 주니어 개발자가 혼자서 이런걸 했구나.. 하고 재미있게 봐주시면 좋을 것 같습니다.

아무쪼록 긴글 읽어주셔서 감사합니다. 모두들 건강하세요 🙂

15

댓글

로그인 후 댓글을 남길 수 있습니다.

오영준
오영준

개발 능력도 능력이지만 글을 이렇게 맛깔나게 쓰는 인간이었다니!

이승민
이승민

재미나게~

Doeon Kwon 권도언
Doeon Kwon 권도언

완전 메이커시군요!

이승민
이승민

감사합니다 :) 이제 만드는건 자신있으니 예쁘게 광내는법을 익혀야할것 같아요.. ㅎㅎ

최현종
최현종

엄청난 메이커시네요 대박ㅋㅋㅋㅋㅋ

이승민
이승민

감사합니다 ☺️ 이제는 하나를 더 잘 만들어보려구요! 너무 집중력이 분산되었던 것 같아요 ㅋㅋㅋ