본문 바로가기

compose2

Compose 내부 구조 이 글은 2020.08.29에 작성된 Compose 세부구현에 관한 문서를 바탕으로 정리한 글이므로, 포스팅 작성 시기의 세부구현과는 다를 수 있음을 알려드립니다. 원문 : https://medium.com/androiddevelopers/under-the-hood-of-jetpack-compose-part-2-of-2-37b2c20c6cdd Under the hood of Jetpack Compose — part 2 of 2 Under the hood of Compose medium.com @Composable Compose를 사용해보셨다면, 많은 코드에서 @Composable 어노테이션을 보셨을겁니다. 하지만 Compose는 어노테이션 프로세서가 아닙니다. Compose는 Kotlin 타입 체킹과 코.. 2023. 3. 30.
Compose 컴파일러 Part 1 : A Kotlin compiler plugin Compose 컴파일러는 Kotlin 컴파일러 플러그인입니다. Compose를 사용해보신 분이라면 Kotlin 함수에 @Composable 어노테이션을 붙인 함수는 Composable 함수로 변환되는 것은 알고 계실겁니다. 보통, 코틀린에서 어노테이션 처리는 kapt이나 ksp 의해 이루어집니다. 하지만 Compose는 일반적인 어노테이션 프로세서로 처리하지 않습니다. Compose 컴파일러는 코틀린 컴파일러의 플러그인입니다. 자바로 Compose를 사용할 수 없는 이유이기도 합니다. 우선 kapt 작동 방식을 생각해봅시다. 코틀린에는 자체적으로 어노테이션 프로세싱을 지원하지 않기 때문에, 자바의 어노테이션 프로세서를 이용해야하고, 그걸 이루는 것이 kapt이죠. 덕분에 자바 Stub이 생성되고, 절차가.. 2023. 3. 21.