
여기어때 iOS 앱의 네트워크 모듈 리팩토링&화면 로딩 기능 개선 이야기
2
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
여기어때 앱 네트워크 모듈 리팩토링
여기어때 iOS 개발팀은 앱의 Network/Adapter 모듈 구조를 개선하였습니다.
주요 개선 사항
- RxSwift, RxCocoa 의존성 제거
- UI 레벨에서 네트워크 로딩 상태 핸들링 지원
RxSwift는 2018년부터 사용되었으나, Apple의 Combine과 Async/Await이 도입되면서 1st-party 솔루션으로의 전환이 필요해졌습니다.
리팩토링 과정
기존의 RxSwift 의존성을 제거하고, Network 및 Adapter 모듈의 인터페이스를 1st-party 타입으로 표준화하여 모듈 간 호환성을 높였습니다. 이 과정에서 Recycler 영역의 복잡성이 증가할 수 있지만, 전체적인 프로젝트 유지보수에는 긍정적인 영향을 미칠 것입니다.
두 번째로, 네트워크 요청에 대한 로딩바 처리를 각 뷰 레벨에서 가능하게 하여 사용자 경험을 개선하였습니다. 이전에는 전면 로딩바가 모든 상호작용을 막았으나, 새로운 구조에서는 개별 UI 모듈이 독립적으로 로딩 상태를 처리할 수 있습니다. 이로 인해 사용자는 로딩 중에도 앱의 기능을 자유롭게 사용할 수 있게 되었습니다.