hyunn

[피피] 사이드프로젝트 회고 본문

Diary

[피피] 사이드프로젝트 회고

hyunn383 2024. 7. 10. 13:21

24년 4월 1일.

사이드프로젝트를 시작한 날짜이다.

 

기획과 디자인은 내가 진행했다.

우선 기획에 대해 말하기 전에 "피피" 에 대해 먼저 설명하자면,

 

피피라는 이름은 Private과 Public의 앞글자를 따와서 만들었다.

 

앱에 대해 설명하자면, 일기와 커뮤니티 게시글 을 작성할 수 있는 앱이다.

 

Private - 개인적인 일기를 작성할 수 있다.
Public - 공개적인 게시글을 작성하여 커뮤니티에 업로드 할 수 있다.

 


기획

팀원을 구하기 위해서는 기능명세는 꼭 필요할 것 같아 기능명세를 작성했다.

 


디자인

디자인은 피그마에 진행했는데, 중요하지 않으니 넘어가겠다. (피그마 툴을 사용할 줄 아는거 뿐이다.. ㅎㅎㅎ)

 


 

개발

인원

  • iOS - 2명
  • 안드로이드 - 2명
  • 백엔드 - 2명

소통 및 기록

  • 슬랙

협업

 

나에겐 새로운 도전이었던 SwiftUI

SwiftUI를 끄적인적은 있다. 무신사 앱의 메인 화면의 UI를 클론코딩해본게 다이긴 하다.

하지만, 프로젝트 하나를 완성해본 적은 없다.

그런 의미에서 SwiftUI 프로젝트는 내게 새로운 도전이였다.

 

뷰를 그릴때 정말 편한 Modifier

Modifer 덕분에 정말 편하고 빠르게 뷰를 그릴 수 있었다.

UIKit에서는 뷰의 프로퍼티에 접근하는 반면, SwiftUI에서는 Modifier가 View를 반환하기 때문에 체이닝으로 연결해서 코드를 작성할 수 있다.

뷰를 변수에 담고, 변수를 여러번 쓸 필요없이 체이닝으로 바로 연결해서 쓸 수 있는 점이 매우 편했다.

 

 새로운 개념들 @State @Published ?? 

UIKit에는 없던 개념들이 나왔다.

바로 프로퍼티 래퍼(wrapper) 이다.

 

프로퍼티 래퍼(Property Wrapper)는 Swift 5.1에서 도입된 기능으로, 프로퍼티의 저장 방식을 관리하는 코드를 재사용할 수 있게 해주는 특별한 속성이다.

 

 

Property Wrapper 특징

  • 구문: '@' 기호로 시작하며, 프로퍼티 선언 앞에 위치한다.
  • 캡슐화: 프로퍼티의 접근과 설정 로직을 캡슐화한다.
  • 재사용성: 동일한 프로퍼티 관리 로직을 여러 프로퍼티에 쉽게 적용할 수 있다.
  • 코드 간소화: 반복적인 보일러플레이트 코드를 줄여준다.

 

RxSwift와 비슷한 Combine

이번 프로젝트에서는 비동기 통신을 도와주는 Combine 프레임워크를 사용했다.

 

RxSwift와 Combine은 둘 다 비동기 이벤트 스트림을 다루고 옵저버블/퍼플리셔 패턴을 사용한다는 공통적인 패러다임을 따르기 때문에, RxSwift 프로젝트를 진행해봤던터라 Combine도 금방 할 수 있었다.

 

하지만, 문법과 네이밍이 비슷하나 차이가 있었기 때문에 구글링하면서 하느라 시간이 좀 걸리긴했다.

 

 

다른 iOS 개발자와의 협업

그동안은 iOS파트는 항상 혼자 개발했었다.

그러나 이번에 사이드프로젝트를 진행하면서 다른 iOS개발자와 함께 작업할 수 있었다.

 

Git에서 각자 피처별로 브렌치를 따서 작업했고, 완료된 작업은 Pull Request를 보내 상대방이 코드를 확인하고 merge해주는 방식으로 협업하였다.

 

• 좋았던 점

다른 사람의 코드를 보면서 생각의 폭을 넓힐 수 있었다.

또한 서로 해결방안에 대해 의논하면서 더 나은 해결방법으로 코드를 수정할 수 있었다.

 

뭐 이런저런거 있지만, 일단 다른 사람의 생각을 듣고 볼 수 있다는게 가장 좋았던 것 같다. 

 

그동안도 나는 맨날 혼자 생각하고 혼자 개발한다면 우물 안 개구리가 되지 않을까 하고 생각했었기 때문에 이번 사이드프로젝트에서의 협업 경험이 나는 매우 좋았다.

 


배포 및 출시

24년 7월 9일.

앱스토어에 출시되었다.

 

 세번의 심사 거절

유저 차단을 구현해야된다는 이유와 EULA(최종 사용자 라이센스 계약) 약관이 추가되어야하는 등의 이유로 심사가 거절됬었다.

 

유저가 직접 게시물을 생성하는 거라 민감한 부분이라서 충족해야될 심사 기준이 많은 것 같았다.

 

그래도 끝까지 수정하여 심사를 통과하고 앱스토어에 출시할 수 있게 되었다!

 


 

끝으로 피피 많관부~

 

 

'Diary' 카테고리의 다른 글

2024년 상반기 회고  (0) 2024.07.09