
프론트엔드
UIKit 환경에서 SwiftUI 적용기: 여기어때 Home 화면 편
두줄요약
UIKit 기반 홈 화면을 SwiftUI로 전환한 적용 과정을 공유했습니다. 기존 ReactorKit과 CMS 구조를 유지하면서 생명주기 브리지와 모델 모듈화를 활용했습니다.
핵심 내용
- UIKit 기반 여기어때 홈 화면을 SwiftUI로 재구성한 적용 사례
- 선언형 UI로 코드 단순화와 유지보수성 향상을 기대
- 기존 ReactorKit과 CMS 구조를 유지하며 전환
구조와 흐름
- ReactorKit-SwiftUI 라이브러리로 기존 상태 관리와 SwiftUI 연동
- UIViewControllerRepresentable 기반 LifeCycleModifier로 UIKit 생명주기 보완
- 복잡한 CMS 트리를 모듈별 앱 모델로 변환해 화면 구성
선택 이유
- 기존 UIKit 코드의 재사용과 초기 전환 안정성 확보
- SwiftUI 도입 과정에서 RxSwift 연동 문제를 완화
- 이후 Combine 중심의 네이티브한 구조로 확장할 기반 마련
주의할 점
- SwiftUI에서 UIKit 생명주기 이벤트를 직접 사용할 수 없는 제약
- CMS 구조가 복잡해 모듈별 변환 로직이 필요
- RxSwift 의존도와 SwiftUI 통합 방식의 과도기성 고려
적용해볼 점
- 기존 상태 관리 체계를 최대한 유지한 채 부분 전환 시도
- 필요한 생명주기만 브리지 형태로 연결해 초기 복잡도 완화
- 복잡한 서버 응답은 화면 단위 앱 모델로 분리 관리
