본문 바로가기

UI Layer

(5)
[안드로이드 클린 아키텍처 시리즈] UI Layer 구현 4편 (with Jetpack Compose) #11 1. 안드로이드 클린 아키텍처 UI Layer 4편 안녕하세요. 이전 포스팅에서는 Jetpack Compose를 활용한 화면 구성과 Compose Navigation, 그리고 ViewModel을 이용한 데이터 바인딩 과정에 대해 살펴보았습니다. 이번 포스팅은 클린 아키텍처 시리즈의 마지막 편으로, UI Layer에서 화면 이쁘게 꾸며보고 지금까지 포스팅한 클린 아키텍처를 정리하면서 시리즈를 마무리하겠습니다. 2. MovieDetailScreen 꾸미기 이전 포스팅에서는 서버로부터 불러온 영화에 대한 Entity의 정보를 문자열로만 출력했습니다. 이번 시간에는 해당 데이터를 StateFlow에 저장하고 MovieDetailScreen에서 compose를 활용해서 UI를 구현하겠습니다. 2-1. MovieD..
[안드로이드 클린 아키텍처 시리즈] UI Layer 구현 3편 (with Jetpack Compose) #10 1. 안드로이드 클린 아키텍처 UI Layer 3편 안녕하세요. 이전 포스팅에서는 Hilt를 통한 의존성 주입에 대해 살펴보았습니다. 이번 포스팅에서는 UI Layer의 마지막 부분으로, UI 컴포넌트와 ViewModel을 연결하고 사용자 인터페이스를 통해 데이터를 표시하기 위해서 Jetpack Compose를 활용한 화면 구성부터 구현하겠습니다. 본 시리즈는 클린 아키텍처에 대해 다루고 있기 때문에 Jetpack Compose를 자세히 설명하지는 않겠습니다. 2. Jetpack Compose를 이용한 UI 구현 Jetpack Compose는 최신 안드로이드 UI 개발 툴킷으로, 선언적 UI 프로그래밍을 가능하게 해 줍니다. 이를 통해 더 간결하고 직관적인 코드로 UI를 구성할 수 있습니다. 우리는 Je..
[안드로이드 클린 아키텍처 시리즈] UI Layer 구현 2편 (with Hilt) #9 1. 안드로이드 클린 아키텍처 UI Layer 2편 안녕하세요. 이전 포스팅에서는 UI Layer를 위한 Hilt 의존성 주입의 기본 설정과 필요성에 대해 살펴보았습니다. 이번 포스팅에서는 UI Layer의 핵심 요소 중 하나인 ViewModel에서 UseCase를 활용하는 방법에 대해 다루고, 실제로 의존성 주입을 통해 UseCase와 Repository를 ViewModel에 주입하는 과정을 구현하겠습니다. 2. ViewModel에서 UseCase 활용의 중요성 ViewModel은 사용자 인터페이스(UI)의 상태와 로직을 관리하는 역할을 담당합니다. UI와 모델 사이의 상호작용을 처리하며, UI Layer에서 사용자의 액션에 따라 데이터를 처리하고 결과를 UI에 반영해야 합니다. 이 과정에서 UseCa..
[안드로이드 클린 아키텍처 시리즈] UI Layer 구현 1편 (with Hilt) #8 1. 안드로이드 클린 아키텍처 UI Layer 1편 안녕하세요, 지금까지 Data Layer와 Domain Layer에 대해 알아보았습니다. 이번 포스팅부터는 애플리케이션의 가장 전면에 있는 UI Layer를 구현할 차례입니다. UI Layer는 사용자와의 직접적인 상호작용을 담당하며, 사용자 경험을 결정짓는 중요한 역할을 합니다. 먼저, UI Layer의 구현을 위한 첫걸음으로 Hilt를 이용한 의존성 주입에 대해 설명하고 Hilt를 사용하기 위한 기본 세팅을 진행하겠습니다. 2. Hilt를 통한 의존성 주입의 필요성 Hilt는 Dagger를 기반으로 한 Android의 의존성 주입 라이브러리입니다. 의존성 주입(Dependency Injection, DI)은 소프트웨어 디자인 패턴 중 하나로, 컴포넌..
[안드로이드 클린 아키텍처 시리즈] 클린 아키텍처 소개 및 UI Layer 설명 #1 1. 클린 아키텍처 도입 배경 안녕하세요. 개발을 하면서 점점 복잡하고 거대해지는 소스코드 관리를 어떻게 하면 좋을까?라는 의문은 항상 쫓아다니는 것 같습니다. 저는 7년 경력의 개발자인데, 안드로이드 개발을 할 때도 MVC, MVP, MVVM 등 수많은 아키텍처 패턴 중 어떤 것을 사용할지는 프로젝트의 성격이나 규모에 따라서 정했던 것 같습니다. 그러던 중 희한한 구조를 볼 수 있었는데, 안드로이드 공식 개발 문서에서 권장되는 아키텍처로 소개하고 있는 클린 아키텍처였습니다. 그래서 신규 프로젝트는 클린 아키텍처를 도입해 보기로 결심했으나 상대적으로 높은 러닝커브가 작용하고 있었고, 이를 쉽게 정리해서 여러분께 소개하기 위해 포스팅을 작성하게 되었네요. 클린 아키텍처에 대해 최대한 간단하고 쉽게 정리해 ..