이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다.
Android 앱의 크기가 점점 커지면서, 앱을 확장하고 품질과 견고성을 개선하고 더 쉽게 테스트할 수 있는 아키텍처를 지닌 코드를 설계하는 것이 중요합니다.
앱 아키텍처는 앱의 여러 부분 사이의 경계 및 각 부분에 수반되어야 하는 책임을 정의합니다. 이는 앞서 언급한 이점을 가능하게 하는 관심사 분리 원칙과 궤를 같이 합니다.
앱 아키텍처에 대한 최신 지침을 요구하는 커뮤니티의 흐름에 따라 앱 아키텍처에 대한 가이드를 개정했습니다. 이 문서에는 강력하고 고품질의 앱을 빌드하기 위한 모범 사례와 권장 아키텍처가 포함되어 있습니다. 권장 아키텍처의 각 계층, 즉 UI, 도메인 및 데이터 계층에 대한 내용도 함께 제공합니다. 이들 계층 내에서 UI 이벤트를 처리하는 방법 등과 같이 더욱 복잡한 주제에 대해 자세한 정보를 찾을 수 있습니다.
각 Android 앱에는 최소한 다음 두 가지 계층이 있어야 합니다.
도메인 계층이라는 추가 계층을 더해 UI 계층과 데이터 계층 간의 상호 작용을 단순화하고 재사용할 수 있습니다.
전형적인 앱 아키텍처를 보여주는 일반적인 다이어그램. UI 계층은 애플리케이션 데이터를 노출하는 선택적 도메인 계층 또는 데이터 계층에서 애플리케이션 데이터를 가져옵니다.
여러분이 관련 콘텐츠를 순서에 따라 살펴보실 수 있도록 학습 가이드를 만들었습니다. 모든 내용을 학습하신 후에는 과정 이수의 징표로 뱃지를 받으실 수 있으니 꼭 확인해보세요!
여러분께 적용되나요?
초보자라면 앱 아키텍처를 갖는 이점에 대해 먼저 이해하고, 이 주제에 처음 접근하는데 있어 이 권장 사항을 따라야 합니다. 중급 및 고급 개발자는 권장 사항을 따르고 필요에 맞게 맞춤 설정할 수 있습니다. 사실, 저희의 연구에 따르면 전문 개발자는 대부분 이미 이러한 모범 사례를 활용하고 있는 것으로 나타납니다.
권장 사항을 따르기 위해 기존 아키텍처를 업데이트해야 할지 여부가 궁금하실 텐데, 답은 '필요없다' 입니다. 하지만 음...하셔도 되고요. 여러분의 선택에 달렸습니다. 현재의 아키텍처가 팀에 적합하다면 그대로 유지하면 됩니다. 그렇지만 가이드에서 패턴을 찾아내고 앱에 통합할 수도 있습니다.
아직 끝이 아닙니다
이번 문서는 저희 팀에서 발표하는 첫 문서이며, 2022년에 더 많은 문서를 발표할 예정입니다. 더 나은 가이드를 만들 수 있도록 함께 해 주세요! 권장 사항에 대해 의견이 있거나 다른 아키텍처 관련 주제를 보고 싶으신 분은 여기를 통해 알려주시면 감사하겠습니다.