왕논의 연구실

패스트캠퍼스 챌린지 30일차 본문

강의/강의 챌린지(iOS 앱 개발 올인원 패키지 Online)

패스트캠퍼스 챌린지 30일차

ywangnon 2021. 11. 30. 22:11

오늘은 애플뮤직앱 마무리 지었습니다.

 

스토리보드로 만들면서도 협업시 충돌이 일어나지 않게 하기 위해서 play화면을 따로 스토리보드로 만들었습니다.

실습화면 1

스토리보드로 작업하면 각자 작업한 것을 merge시킬 때 충돌이 나기 때문에 어떻게 작업하나 궁금했는데 따로 관리하셨네요.

이 방법도 사용해보긴 했었습니다.

스토리보드로 작업할 시 협업을 위해 했던 것이 3가지정도 있었는데,

1. 한 명이 스토리보드를 Flow를 다 짠다.

2. 스토리보드를 분리하고 그 스토리보드로 이동하는 세그를 사용한다.

3. 스토리보드를 따로 만들고 코드로 화면이동한다.

정도로 했었습니다.

 

첫번째는 맨 처음했던 방법으로, 앱의 크기가 좀 작았고, 기획과 디자인을 했던 경험이 있는 분이 나서서 틀을 잡겠다고 하셔서 이런 방법을 사용했었습니다.

지금 생각하면 좀 무식한 방법이라고 할 수도 있는데요.

거꾸로 생각하면 굉장히 안정적이면서도 편한 방법입니다.

말 그대로 기획과 디자인을 하셨던 분이라서 그분이 전체적인 기획과 디자인 플로우를 작성하셨고, 그대로 스토리보드의 화면들과 세그만 연결해 놓아서 각자 정해진 화면을 작업하면 되었습니다.

그리고 그 자체가 기획에서 디자인한 것을 바로 코드 작업하는 것과 마찬가지라 전체적인 작업속도도 빠르고 처음 계획했던 것을 벗어나 일정이 일그러지는 일이 최소한이었습니다.

정말 처음 기획자라는 직책을 경험해보면서 웃기게도 개발 공부를 하면서 기획자의 힘을 느낄 수 있었습니다.

하지만 이러한 방법은 기획자가 강력한 권한을 가지고 코드를 다룰 줄 안다는 전제하에서 가능하다고 생각되며, 안드로이드 스튜디오를 사용할 때는 불가능하지 않나 싶습니다.

 

두번째는 스토리보드는 나누는데 세그를 이용하는 방법이었습니다.

여러 개발자가 하나의 스토리보드를 다루다보면 문제가 생긴다는 것을 인식해서 그것을 수정해야는 하지만, 스토리보드이기때문에 화면의 이동을 시각적으로 남기는 것이 맞지 않을까 싶어서 택한 방법이었습니다.

하지만 이것도 문제는 하나의 뷰에서 각자 세그를 따다보면 merge할 때 똑같이 충돌이나게 됩니다.

그나마 다행인건 각자 작업을 다른 스토리보드에서 했기 때문에 메인 스토리보드에서만 문제를 해결하면 되어서 충돌 문제의 해결이 다같이 하나의 스토리보드를 사용할 때보다 편하다는 점이 되겠습니다.

 

세번째는 강의와 같이 스토리보드를 따로 두어서 화면만 만들고 이동은 코드로 하는 것 입니다. 물론 어느정도 연관된 화면 이동은 세그로 할 수도 있지만, 각각의 코드와 스토리보드로 나누어 겹치는 것을 최소화했었습니다.

그런데 이렇게 작업할 때는 혼자 작업하던 때라서 협업을 위해 작업하지만 실제로는 혼자 작업하다보니 충돌 같은 문제를 겪을 일이 없었습니다.

 

간단하지만, 뮤직앱을 실습하면서 AVFoundation에 대해 완벽하진 않아도 많은 부분에서 정리할 수 있었습니다.

또한 코드의 관리에 대해서도 좀 더 생각하게 되었습니다. 전에는 MVVM에 대해 잘 모르다보니 MVC라도 지키려고 노력하였습니다. 그러다보니 뷰컨트롤러를 보기위해서 휠을 어마어마하게 돌리기도 하였는데, 데이터와 화면을 분리되어 코드가 작성되는 것이 깨끗하게 느껴졌습니다. 실습해보면서 기존 앱의 코드를 정리해보겠다는 생각을 갖게 되었습니다.

 

실습사진 2

 

애플 뮤직앱 완성본을 올리며 마무리합니다.

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지Online.