사진: Unsplash의Malcolm Lightbody 컴포즈는 너무나도 편리하지만, 배우면 배울수록 내부의 동작을 알지 못하면 안 된다는 생각이 듭니다. View 시스템과는 다른 방식으로 UI를 그리고 있기 때문에 자칫 잘못하면 부분별 한 남용으로 퍼포먼스가 매우 떨어지게 될 수 있습니다. 그렇기 때문에 이번 게시글에서는 컴포즈의 Snapshot에 대해서 배우고 공부해보고자 합니다. 이 게시글은 아래의 글을 보고 공부한 내용을 다룹니다. Introduction to the Compose Snapshot system Jetpack Compose introduces a novel way to handle observable state. For an introduction that adds some... d..
사진: Unsplash의David Libeert 이번 게시글에서는 Compose에서 빼놓을 수 없는, 모든 곳에 사용되는 Remember에 대하여 정복하고자 합니다. Remember가 필요한 이유Remember에 대해 자세히 알아보기 전에, 먼저 Remember가 왜 필요한지 알아보려고 합니다. 아래의 Composable 함수를 한번 보겠습니다.@Composablefun Counter() { var counter by mutableStateOf(0) Column( modifier = Modifier.fillMaxSize() ) { Text( text = "Counter: $counter", ) Button( ..
사진: Unsplash의Tim Wildsmith 안드로이드의 최신 버전(저의 경우에는 Hedgehog)을 사용하고 계신다면, 프로젝트를 시작할 때의 기본 설정이 Compose에 최적화된 설정이라는 것을 알고 계실 겁니다. 기본 템플릿에는 Compose와 관련된 기본적인 Gradle 설정이 아래와 같이 되어 있습니다. ... android { ... buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.4.3" } ... } dependencies { implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.lifecycle:lifec..
사진: Unsplash의Emily Morter 저는 요즘 Compose를 배우고 사용하면서 Compose에 매력에 깊게 빠져 있습니다. 그래서 기존의 프로젝트를 Compose로 다시 만들어보기도 하고, 새로운 프로젝트도 거의 Compose로 진행하고 있습니다. 다만, Compose로 만든 앱을 실행해 보면, 이상하게 버벅거리는 것들이 있었습니다. 리스트를 스크롤할 때나 애니메이션을 구성했을 때가 특히 그랬습니다. 이번 게시글에서는 코드와는 상관없이 버벅거림에 대한 해결방안과 이유에 대해 알아보고자 합니다. 해결방안 가장 간단하게 Compose로 구성한 화면의 버벅거림을 해결하는 방법은 Release mode와 R8을 사용하여 빌드하는 것입니다. 이를 이야기 하기 위해서는 먼저 안드로이드의 2가지 빌드 방..
JetPack Compose에 대한 이해 안드로이드 개발을 하면서 Compose를 사용하지 않는 것은 이제는 많이 뒤져치는 것 같습니다. 그렇기에 Compose를 제대로 공부해보고 있습니다. 다만 누가 "Compose에 대해서 이해하고 있느냐?" 라고 everyday-develop-myself.tistory.com 위의 게시글에서 Compose는 상태(State)를 UI로 변환하는데 3단계로 진행된다고 설명했습니다. 이번 게시글에서는 저번 게시글에서 설명했던 Composition 단계에 이어서 Layout 단계에 대해 설명하고자 합니다. 이 게시글의 내용은 아래의 영상에서 참고하였습니다. Layout 단계 Composition 단계에서는 composable 함수를 실행하고 다양한 상태의 여러 가지 UI ..
사진: Unsplash의Braden Collum 이전에 아래의 게시글에서 상태에 대해 알아본적이 있습니다. State와 StatedFlow, SharedFlow에 대해 알아보기 State란? State는 객체 지향 관점에서 자주 사용되는 단어로 객체가 특정 시점에서 어떤 데이터 값을 가지고 있는지 나타내는 것으로, 객체의 특성이나 속성을 나타냅니다. 안드로이드의 UI 레이어 everyday-develop-myself.tistory.com 앱의 상태는 시간이 지남에 따라 변할 수 있는 값을 의미합니다. 이번 게시글에서는 Compose에서 앱의 상태를 어떻게 저장하고 사용하는지 알아보고자 합니다. Compose와 상태 Compose는 선언형 UI 프레임워크로 Composition을 통해 UI를 기술합니다. ..
안드로이드 개발을 하면서 Compose를 사용하지 않는 것은 이제는 많이 뒤져치는 것 같습니다. 그렇기에 Compose를 제대로 공부해보고 있습니다. 다만 누가 "Compose에 대해서 이해하고 있느냐?" 라고 묻는다면 "그건 선언적 UI야" 라고밖에 말할 수 없을것 같습니다. 그렇기에 아래의 게시글을 보면서 Compose에 대해 정리해보는 시간을 가지려 합니다. Understanding Jetpack Compose — Part 1 of 2 Better UI building with Compose medium.com Under the hood of Jetpack Compose — part 2 of 2 Under the hood of Compose medium.com Jetpack Compose는 무엇인가..