Store5로 생각해보는 네트워크에 강한 앱 구조

네트워크에 강한 앱은 단순히 재시도를 많이 하는 앱이 아니다. 캐시, 로컬 소스, 원격 fetcher, 갱신 정책을 명확히 나눈 앱이다. Store5는 이런 데이터 흐름을 구조화해서 생각하게 해준다.

이 글은 원문을 그대로 옮긴 번역이 아니라, 실제 Android 프로젝트에 적용할 때 무엇을 남길 수 있을지 정리한 기록이다.

참고한 글

읽고 남긴 포인트

  • 데이터 레이어는 “API 호출 함수 모음”이 아니라 데이터의 신뢰도를 관리하는 계층이다.
  • 캐시는 성능 최적화만이 아니라 오프라인 UX의 핵심 재료다.
  • 로딩, stale data, fresh data를 UI State에서 구분하면 화면이 더 정직해진다.

프로젝트에 적용한다면

  • Repository에서 원격 호출과 로컬 캐시 갱신 책임을 분리한다.
  • 데이터가 오래되었지만 보여줄 수 있는 상태를 UI에 표현한다.
  • 오프라인 상태에서 어떤 기능이 읽기 전용으로 동작할지 미리 정한다.

정리

좋은 데이터 레이어는 네트워크가 실패했을 때 비로소 가치가 드러난다

함께 읽기