-
iOS Architecture👻 iOS 2020. 12. 28. 11:31
새로 iOS 프로젝트를 하려고 준비한다면 누구나 '어떤 아키텍처를 써야 하나?'같은 고민을 할 것 같아요.
이번에 저도 새로운 프로젝트를 시작하면서 다방면으로 고민하고 있습니다.
5년 전에 MVVM을 시도해서 massive MVC를 탈피해 보려고 했지만
결론은 비슷한 지경에 이르렀던건.. 구조화의 실수인지 MV*의 한계인지 모르겠어요.
그래서 이번엔 뭔가 다른게 없을까 하고 조금 찾아보니 RIBs라는 게 있네요
- Router : RIBs를 떼었다 붙였다 해주는 역활.
- Interactor : 비즈니스 로직.
- Builder : RIB을 인스턴스화 해주는 역활.
- View : UI, 가능한 dumb 하게 설계해야함.
- Presenter : 비즈니스 모델을 뷰 모델로 또는 그 반대로 변환.
- Component : RIB 종속성을 관리하는 데 사용
써보진 않았지만 VIPER 랑 목적에 따라 파일을 다수 분리하는게 비슷해 보이는데
가장 맘에 들었던 것은 RIBs에 주요한 개념이 뷰 기준이 아닌 상태에 따라 트리로 구조화 가능하다는것.
그리고 Protocol oriented programming 이 가능하다는 것.
이 두가지로 RIBs를 써보기로 결정하게 되었어요.
비록 배워야하고, 가는 방향이 맞는지 확인하기는 어렵지만 ㅋㅋ
우선 진입해 봅니다.
github.com/uber/RIBs/wiki/iOS-Tutorial-1
튜토리얼이 4단계까지 있는데
코드와 다르게 설명이 좀 부족해 보이는것도 있어서 첨에 좀 이해하기 어려운데
익숙해질 때까지 계속 시도해 봐야겠네요 ㅠㅠ
덧. 그런데 SwiftUI로 해보고 싶었는데 RIBs는 아직 SwiftUI를 지원하지 않는것 같아서 조금 아쉽네요