기존 카카오뱅크의 아키텍처
MVVM
- 장점
- 데이터를 바인딩으로 UI와 Model 간의 동기화
- 단점
- 많아지는 ViewModel 구조
- 형틀이 불안정한 Routing
현재 카카오뱅크의 아키텍처
RIBs
- 장점
- 명확한 탬플릿
- 프로토콜 지향 프로그래밍 가능
- 응집도 높은 코드
- Routing 기능
- 단점
해결되지 않는 문제점
- 유지보수 인력 계속 필요
- 개발자 수 증가, 파일, 코드 증가, 결합도 증가
- 빌드시간이 오래 걸림
- 코드에 질이 나빠짐
기존 모듈 분리가 어려운 이유
- 프로젝트와 프레임워크를 수동으로 생성하고 관리하면 실수하기 쉬움
- SwiftSPM 제약 사항
- configuration은 디버그, 리소스만 제공
- 여러 환경에서 configuration 설정이 어려움