안드로이드 아키텍처에서 상태 관리와 데이터 흐름 설계 경험
안드로이드 앱 아키텍처를 설계할 때 가장 먼저 고민하는 것은 화면 간 데이터가 어떻게 흐르고 어디서 관리되는가입니다. 이 부분을 초반에 정하지 않으면 화면이 늘어날수록 의존 관계가 복잡해지기 때문입니다.
개인 프로젝트에서 목록 화면에서 선택한 데이터를 상세 화면에 넘기는 구조를 만들 때, 처음에는 인텐트로 직접 전달했습니다. 화면이 2개일 때는 괜찮았지만, 3개 이상의 화면이 생기면서 데이터 전달 경로가 복잡해지고 오류가 잦아졌습니다. ViewModel을 도입하여 데이터를 화면과 분리하니 각 화면이 독립적으로 관리되었습니다. 실패는 처음부터 구조를 잡지 않고 기능 구현부터 시작한 것이었습니다.
아키텍처는 기능이 없을 때 설계하는 것이 좋습니다. 기능이 붙은 후에 구조를 바꾸는 것은 비용이 훨씬 큽니다.