내일배움캠프 iOS 마스터 트랙이 시작됐다. 9 to 9 일정이 두렵기도 했지만, 끝나고 나면 분명 더 성장할 거라는 기대감이 훨씬 크게 느껴졌다
OT 및 첫 프로젝트 시작
오전 시간은 OT를 들었고 OT 후 바로 5일 간의 미니 팀 프로젝트가 시작됐다
짧은 인사를 마치고 바로 프로젝트 회의를 시작했다
프로젝트 주제: 팀원 소개 애플리케이션
우리팀은 멤버 소개에 필요한 공통 데이터를 정의하고, 공통 데이터를 활용하여 각자 스타일에 맞게 멤버 카드 템플릿 UI를 구현하고 사용자가 여러 템플릿 중 하나를 선택하여 사용할 수 있는 앱을 개발하기로 했다.
협업 방식
첫 프로젝트인 만큼 우리팀은 서로의 코딩 스타일과 사용 기술을 파악하고 코드 리뷰를 통해 디벨롭하기로 했다. PM, 디자이너, 서버 개발자 없이 iOS 개발자 5명이서 프로젝트를 진행하는 것이 처음이어서 걱정이 많이 됐지만, 다들 적극적으로 의견 내주셔서 나름 수월하게 잘 진행 중인 것 같다.
UI 설계 및 데이터베이스 선택
화면 UI를 결정하기 위해 일단, 각자 와이어프레임을 구현하고 취합하는 방식을 택했다.
우선 공통 데이터를 활용하기 위해 로컬 DB를 고려했는데, CoreData를 사용하면 하나의 디바이스에서는 데이터가 유지되지만 여러 사람이 사용할 때는 데이터를 공유할 수 없다. Realm은 모바일에 최적화된 라이브러리로 다양한 플랫폼에서 사용할 수 있다는 장점이 있다. 그러나, 팀원분께서 비용이 발생할 수 있다고 해서 Firebase를 선택하게 되었다. Firebase의 Firestore를 사용하여 간단하게 DB를 만들고 데이터를 저장할 수 있다고 한다. 처음 사용해보기 때문에 구체적으로 공부해봐야겠다
서드파티 라이브러리 없이 개발
이번 프로젝트에서는 오랜만에 서드파티 라이브러리 없이 개발하려고 한다. SnapKit, Then, Moya 등 라이브러리에 의존하다보면 라이브러리에 종속돼 프로젝트를 유연하게 관리하거나 변경하기 어려워질 수 있다.
파이팅!
'Today I Learn' 카테고리의 다른 글
Today I Learn: UIAlertController에 TextField 추가 및 데이터 사용 (0) | 2025.03.07 |
---|---|
Today I Learn: UILabel 내부 Padding 설정하기 (0) | 2025.03.06 |
Today I Learn (4) : UIButton.AddTarget 데이터 전달 문제 리팩토링 (0) | 2025.03.05 |
Today I Learn(3): 동적으로 뷰 추가 및 삭제 (1) | 2025.03.05 |
Today I Learn(2) : MVVM 정리하기 (0) | 2025.03.04 |