오늘은 Circuit 이라는 Slack 에서 만든(실제 프로덕션 환경에서 사용중인) 개발 프레임워크에 대해 소개하면서, 예제 프로젝트에 적용 해본 후기(기존의 개발방식과의 차이점과 장단점)를 적어보려고 한다.
이번 글에선 저번에 작성한 Circuit 찍먹 해보기 글에서 소개한 rememberRetained() 함수와 produceRetainedState() 함수의 역할과 동작원리에 대해 분석을 해보려고 한다.
글을 읽는 사람에 입장에서 봤을 때, 설명없이 넘어간 부분이 많았다고 생각이 들어, 의문이 들 수 있는 부분들을 선정하여, Q&A 형식으로 글을 써보도록 하겠다.
본격적으로 기존에 진행했던 사이드 프로젝트를 Circuit 으로 migration 하기 전에, 알아두면 도움이 될 것 같은 두 함수 collectAsRetainedState, rememberStableCoroutineScope 에 대한 분석을 해보고자 한다.
이번 글에서는 Circuit 의 UI 를 구성하기 위한 요소인 CircuitContent 와 NavigableCircuitContent 에 대해 알아보도록 하겠다.
이번 글에서는 Circuit 에서 Dialog, BottomSheet 와 같은 UI 컴포넌드들을 다룰 때, 사용할 수 있는 Overlay 에 대해 알아보도록 하겠다.
이번 글에서는 Circuit 에서 자체적으로 제공하는 Navigation 을 알아보고, 평소에 사용해왔던 Compose Navigation 과 비교해보면서 그 차이점들을 확인해보도록 하겠다.