Skip to content

[의사결정록] iOS Architecture 선택 과정

junbok97 edited this page Dec 14, 2023 · 7 revisions

🖼️ 배경

  • 부스트캠프에서 학습한 내용을 최대한 활용 가능할 것
  • 같은 화면을 나누어서 개발 하더라도 서로 영향을 받지 않아야 함
  • 재사용 가능할 것
  • 각 계층간의 느슨한 연결
  • 확실한 책임 분리

✅ 결정

  • RIBs img

  • 클린 아키텍처

🤷🏻 이유

  • 프로토콜를 사용하여 추상화
    • Interface와 Implementation으로 나눌 수 있는 구조라 모듈화에 적합함
  • composite 패턴으로 다양한 조합 가능
  • 각 객체마다 단일 책임을 지기 때문에 코드 유지보수성과 가독성 향상
  • 템플릿을 제공
    • 코드 스타일이 비슷해짐
    • 리뷰할 때 코드 구조 등 다른 설명이 필요 없어서 파악하기 좋음
  • 학습할 거리가 많음
    • Router (Coordinator)
    • Factory (Builder)
  • Modern-RIBs 사용
    • RxSwift의 의존성을 없애고 Combine으로 대체한 Modern-RIBs 사용
    • Combine이 RxSwift에 비해 가볍고 RIBs 사용에 필요한 기능을 대체 가능함

🤔 우려되는 점

  • 러닝커브가 높다
  • RIBs는 RxSwift가 포함되어 있는데 외부 라이브러리를 사용하면 안된다는 제한사항이 있다.
    • RxSwift를 걷어내고 Combine으로 대체된 ModernRIBs 사용

🔥 HeatPick

🔨 프로젝트 소개

🫠 트러블 슈팅

1주차

2주차

3주차

4주차

5주차

🤔 기획 회의록

🤷🏻 의사 결정록

🍎 iOS

🌐 Backend

🎯 주차별 목표

🏃🏻 데일리 스크럼

1주차

2주차

3주차

4주차

5주차

6주차

🙇🏻 멘토링 일지

👀 프로젝트 현황 공유

🙋🏻 팀 회고

💪 개인 회고

1주차

2주차

3주차

4주차

5주차

📇 템플릿

Clone this wiki locally