ComposeInternals
3 articles
3장 - Compose 런타임 (The Compose runtime)

Jetpack Compose Internals 를 읽고 정리하는 글이다. 어쩌다보니 올해 안에 완독 하겠다는 목표를 세워서 (관련글) 열심히 읽는중이다. 이 글의 수준을 다음과 같이 설정했다. 대학생이나 현업 개발자 등 컴포즈를 평소보다 좀 더 깊이 있게 파고들고 싶은 자가 받아들일 수 있을 정도로 쉬운 난이도. 주당 1챕터씩 작성하려 했으나 1주가 미뤄졌다. 회사 일이 바쁘고 주말에 지침 이슈. (게으름 이슈) 연말 휴가때 좀 몰아서 읽어야겠다. 이번 3 장은 Compose Runtime의 핵심 동작 원리를 다룬다. 슬롯 테이블과 변경 목록이 어떻게 composition 상태를 관리하는지 Composer가 어떻게 변경사항을 기록하고 Applier가 어떻게 이를 실제 트리에 적용하는지 Recomposer가 어떻게 전체 recomposition 프로세스를 조율하는지 살펴본다 컴파일러가 코드를 변환하는 방법을 다뤘던 2장과 달리, 이번 장은 런타임에서 실제로 UI가 어떻게 만들어지고 …

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)로 …