본문 바로가기
반응형

아키텍처3

Android - 상태관리, LiveData 대신 StateFlow를 사용하자. 현재 안드로이드 생태계는? 현재 안드로이드 생태계는 MVVM 아키텍처, 클린아키텍처가 대세가 되고, MVI 아키텍처가 점점 핫해지고 있다. 그만큼 개발 기술이 빠르게 발전하고 있고, 더욱 강력한 도구들이 생겨나고 있다는 것이다. Google에서 Android Architecture Compoenent로 여러가지 도구를 제시하고 있고, 그 중에 ViewModel과 LiveData는 정말 핫하고 유용하며, 현재 안드로이드 앱 개발에 있어서 가장 기본적인 도구로 몇년동안 자리잡고 있다. 그러나 시간이 지나면서 이들도 구시대의 기술이 되어가는 것은 당연하다. 영원히 최고의 도구는 없으니까. 오늘은 그 중 하나인 LiveData에 대해, 그리고 이를 대체할 StateFlow에 대해서 얘기해본다. 상태관리, 그리고.. 2023. 8. 3.
[Android] Clean Architecture With Pokedex (feat. Jetpack Compose, Hilt) - 1 이번 포스팅은 Clean Architecture의 구성요소와 개념에 대해 알아보고, 안드로이드 프로젝트를 생성하여 기반작업을 해 볼 것이다. Clean Architecture에 대해 검색해본 사람이라면, 아래 그림을 정말 많이 접했을 것이다. 개인적으로, 위 다이어그램만 이해한다면 Clean architecture는 끝이라고 할 만큼 기본이고 핵심이라고 생각한다. 좌측 원형 다이어그램을 분석해보자. 가장 바깥쪽부터 안쪽으로 화살표가 있는데, 이것은 의존성을 의미한다. 즉, 바깥쪽에서 안쪽으로만 의존하며, 가장 안쪽인 Entities는 의존성을 갖지 않는다. 또한, 안쪽에서 바깥쪽으로의 의존성은 없다. 이것은 Clean architecture의 가장 핵심적인 룰이다. 우리가 알아야 할 요소는 Present.. 2022. 5. 28.
[Android] Clean Architecture With Pokedex (feat. Jetpack Compose, Hilt) - 0 현업에서 안드로이드 앱을 개발한지 이제 막 4년이 되어간다. 가장 많은 변화를 꼽으라면 언어의 변화와 아키텍처를 꼽을 수 있을 것 같다. 영원할 것 같던 Java를 제치고 Kotlin이 자리를 잡고, MVC 패턴에서 MVP를 지나 MVVM이 대세 아키텍처로 자리잡고 있다. 물론, MVVM 외에도 MVI, VIPER, RIBs와 같은 다른 유용한 아키텍처도 많고, 실제로 이 아키텍처로 서비스를 개발하고 있는 곳도 많다. 그리고 여기에 더하여, "Clean Architecture"도 중요한 아키텍처로 자리잡고 있다. 직역하면 "깨끗한 구조", "깔끔한 구조" 정도일텐데, 이게 무엇일까? Clean Architecture는 로버트 C 마틴이 제안한 아키텍처이다. 책을 보면, "소프트웨어 구조와 설계의 원칙" .. 2022. 5. 28.