목록 보기
해외숙소 홈 개편기
프론트엔드

해외숙소 홈 개편기

여기어때
여기어때
2024년 12월 5일

두줄요약

해외숙소 홈을 웹에서 네이티브로 개편하며 성능과 사용성을 개선했습니다. 또한 State 관리와 탭 전환 응답 처리 문제를 분리·정리해 유지보수성을 높였습니다.

문제 상황

  • 해외숙소 홈이 웹 기반으로 운영되며 화면 관리, 오프라인 미지원, 사파리 엔진 의존성, 성능 저하 문제가 존재
  • 최저가 보상 숙소의 도시 혼재, 도시 정보 부재, 최근 검색 시 ATF 아래로 밀리는 사용성 이슈 발생
  • ReactorKit State 변수의 무분별한 증가로 역할 파악과 코드 이해 비용이 커지는 문제 발생
  • pageSheet 전환 후 Dismiss 시 부모 viewWillAppear 미호출, 탭 전환 시 API 응답 지연으로 이전 리스트가 노출되는 문제 발생

해결 방법

  • 해외숙소 홈을 네이티브 화면으로 개편해 성능과 사용성 개선
  • State 변수를 역할별로 분리하고 AppModel을 화면 요소와 1:1로 매칭해 계층적으로 관리
  • pageSheet 화면에서는 viewDidDisappear 시점에 부모 생명주기 메서드를 직접 호출해 갱신 처리
  • RxSwift takeUntil로 이전 API 응답을 무시해 탭 전환 시 데이터 불일치 완화

트레이드오프

  • AppModel 구조를 먼저 설계해야 해서 UI 구현 전 고민 시간이 증가
  • 부모 생명주기 직접 호출 방식은 수정 범위와 QA 범위를 줄였지만 의존성과 예기치 않은 호출 가능성 존재
  • 이전 요청 취소 대신 응답 무시를 택해 구현 단순성은 확보했지만 이상적 해법은 아님

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...