현재 UMC라는 동아리에서 프로젝트 진행하고 있다.
이 동아리는 약 3개월간 스터디를 진행하고 다음 1-2개월 동안은 프로젝트를 완성하기 위해 협업을 한다. 우리 팀은 1월 부터 협업을 하기 시작했으며 현재 api 연결을 진행하고 있는 상황이라 한 85퍼센트 정도는 완성되었다고 보면 된다.
우리 팀은 데모데이 이후 출시하는 것을 목표로 하기 때문에, 실질적으로 사용자가 사용할 수 있는 앱을 개발해내야 한다. (나 역시 사용자에게 제공할 수 있을 만한 퀄리티의 프론트를 개발해내야 한다는 뜻이다..)
본격적인 글을 시작하기에 앞서 개발 결과물을 공유한다...!
1. 프론트 개발 시작
1/10일부터 개발을 시작했다. 나는 가장 먼저 나온 화면인 소비등록 화면을 맡았다.
왜냐하면 3개월동안 스터디를 진행하면서 배운 내용을 사용하지 않아, 완전 노베로 다시 시작해야했던 상황이었기 때문이다. 미리 먼저 소비등록 화면을 보고 필요한 공부를 한 후에 시작하려고 했다.
( TMI : 3개월 동안 스터디로 배운 건 swift 의 storyBoard를 활용하는 방법이었다. 근데 이 팀에서는 stroyBoard 없이 UIKit 로만 진행한다고 했다. 그 이유는 스토리보드를 사용하면 협업 시에 깃허브에서 충돌이 많이 일어난다. 그리고, 실무에서 많이 사용하는 방식이 스토리보드 없이 UIkit만 사용하는 것이기 때문이다. )
2. 광적인 개발기간 ( 1/17-2/8 )
1/10부터 개발을 시작했더라도 1/10-1/17은 거의 공부하는 기간이었기 때문에 실질적인 개발 진도는 1/17부터다. 17일 전까지 구현 일지가 아무것도 없다..ㅎㅎ
나는 이미 안드로이드와 플러터 앱 개발 경험이 있었기 때문에, 앱 개발에 대한 감은 있었다. 그래서 감을 잡고 진도를 팍팍 나갈 수 있었다.
절망적인 것은 스토리보드 없이 개발하는 코드가 구글링하면 안드로이드와 플로터보다 많지 않았던 상황이었다.그래서 ChatGPT의 예제와 apple develop document를 많이 활용했다.
구현하면서 정말 힘들었지만, 그래도 완성된 결과물을 보니 뿌듯해서 더 열심히 하게 되는 것 같다. 프론트가 적성에 너무 맞는다는 걸 다시 깨달은 기간이었다. 자발적으로 밤을 새며 화면과 기능을 완성시켜나가는 게 재밌기도 했다! 아래는 내가 엑셀에 기록하는 내 하루 기록이다. 일주일 동안 프론트 개발을 위해 51시간을 사용했다.
1/25까지 내가 맡은 소비등록 화면을 모두 구현하여 아직 역할 분담이 안된 마이페이지를 내가 맡기로 했다.....ㅠㅜ (마음 속으로 절규를 외쳤다) 그래도 이번 기회에 성장할 수 있다고 생각하고 열심히 완성했다. 마이페이지는 5일 안에 마무리 했던 것 같다. 삽질을 엄청하니까 마이페이지를 만들 때에는 그렇게 어렵게 느껴지지는 않았다.
1) 소비 등록 화면
소비등록은 말 그대로 소비를 등록하는 화면이며, 소비금액이 16자리를 넘어갔을 때, 제목이 16글자를 넘어갔을 때 에러 메세지를 띄워주기 위해 뷰에 컴포넌트를 마음대로 넣었다 뺐다는 하는 것이 가장 어려웠다. 또한, 텍스트필드의 입력값을 delegate를 이용해 상황에 맞는 이벤트로 처리하였다. 또한, 모달이 3개가 등장하는데 커스텀으로 만들며, 많은 시행착오가 있었다. 이 과정에서 view, viewcontroller, protocol, delegate, rxswift, mvvm, autolayout, uistackview 등의 새로운 개념을 알고 활용할 수 있게 되었다.
하나 하나의 모달을 어떻게 구현했는지는 다른 포스팅을 통해 기록을 남겨놓을 예정이다. 모달을 구현하면서 뷰 컨트롤러의 정확한 역할을 알게 되었고, 프로토콜과 델리게이트 개념도 명확히 다질 수 있었다.
2) 마이페이지 화면
1)의 소비등록 화면과는 다르게 테이블뷰로 이루어져있어 기본 틀을 만드는데는 그 다지 어렵지 않았다. 새롭게 배운 것은 프로필 설정을 하기 위해서 사용자의 사진에 접근하는 것이었다. 프로필 생성, 문의하기, 탈퇴하기, 로그아웃하기를 클릭할 때 나오는 모달들 모두 직접 커스텀으로 구현하였다. 위의 커스텀 모달과는 다르게 fullscreen으로 구현해봤다. 문의하기에서 문의내용이 텍스트필드로 구현이 안 되어서 (여러 줄을 써야 하는 건 텍스트 필드에서 지원하지 않는다) 텍스트뷰로 구현했다. 이 과정이 많이 험난했다.
3. 현재 상황
결국 1/10일 부터 2/8일까지 담당한 화면을 모두 구현해냈다.( 사실 더 고쳐야하는 부분이 있긴 하지만, api 연결을 하며 추가할 예정이다 )
지금 세어봤는데 맡은 화면만 62페이지이다. 하면서 많다고는 느꼈지만 60을 넘어가다니... !
한 달 간 열심히 개발하면서 느낀 점은 나는 프론트를 좋아한다는 것이다. 원래 데이터 쪽으로 가려고 했는데 해보니 적성에 맞는다는 걸 다시 깨달아서 일단 잘하고 좋아하는 것으로 첫 커리어를 쌓아보려고 한다. iOS 개발! 안드로이드도 괜찮은데 나는 앱등이라서 iOS 개발자를 하려고 한다ㅎㅎㅎ
아직 완성한 건 아니지만, 어느 정도 완성한 시점에서 한 달을 돌아보니 정말 열심히 개발했다는 게 실감이 난다.
앱 출시하는 그날까지 열심히 또 달려야지!
회고 끝.
'iOS > develop log' 카테고리의 다른 글
🚀 머플러, 초심으로 돌아가는 설 연휴 프로젝트 (0) | 2025.01.27 |
---|---|
iOS감자의 파란만장한 로그인 구현기 1. 로그인 구현의 시작 ( feat. 로그인 구현할 때 알아야 할 것들.) (0) | 2024.07.07 |
내가 만들고 싶은 앱, 회고 정리 앱 PlanZ (0) | 2024.07.01 |
[DAY 1] 오늘 뭐 먹지? 내 고민을 해결해주는 앱, TODAY EATS (0) | 2024.03.08 |
[iOS] 머플러 프로젝트 시작 (UMC, 노스토리보드, UI kit) (0) | 2024.01.10 |