ComposeInternals
2 articles
2장 - Compose 컴파일러 (The Compose compiler)

Jetpack Compose Internals 를 읽고 정리하는 글이다. 어쩌다보니 올해 안에 완독 하겠다는 목표를 세워서 (관련글) 열심히 읽는중이다. 이 글의 수준을 다음과 같이 설정했다. 대학생이나 현업 개발자 등 컴포즈를 평소보다 좀 더 깊이 있게 파고들고 싶은 자가 받아들일 수 있을 정도로 쉬운 난이도. 참고. compose architecture 이 챕터를 읽기전에… Compose Compiler가 어떻게 동작하는지 내 기준 꽤 깊이 있게 살펴본다. 크게 세 부분으로 나뉜다. Compose 어노테이션들 @Composable부터 @Stable, @Immutable까지 각 어노테이션이 무엇을 의미하고 왜 필요한지. 정적 분석과 검사 컴파일 단계에서 코드를 검증하고 오류를 잡아내는 과정. 코드 생성과 변환 IR 낮추기(Lowering)를 통해 우리가 작성한 코드가 어떻게 변환되는지. Composer 주입, 비교 전파, 그룹 생성 등 실제 최적화 기법들. 마음의 준비를 하자…

1장 - Composable 함수들 (Composable functions) 내맘대로 정리

Jetpack Compose Internals 를 읽고 정리하는 글이다. 어쩌다보니 올해 안에 완독 하겠다는 목표를 세워서 (관련글) 열심히 읽는중이다. 이 글의 수준을 다음과 같이 설정했다. 대학생이나 현업 개발자 등 컴포즈를 평소보다 좀 더 깊이 있게 파고들고 싶은 자가 받아들일 수 있을 정도로 쉬운 난이도. Composable 함수의 의미 (The meaning of Composable functions) Composable 함수는 Jetpack Compose 의 가장 기본적인 요소이며 처음부터 올바른 관념으로 받아들이는 게 좋다. Composable 함수를 처음부터 제대로 이해하려면 일반 함수와 다른 관점으로 봐야 한다. 일반 함수: 반환 값이 결과임. 보통 한 번 실행되면 끝. Composable 함수: Node 데이터를 방출해서 컴포지션 하는것이 결과임. 입력 값의 변화에 따라 반복적으로 재실행됨. 컴포저블 함수의 실행 결과로 생성되는 데이터는 하나의 노드(Node)로 …