Jetpack Compose 분석하기 — 목차
Deep dive into Jetpack Compose internals
Jetpack Compose 는 구글에서 아예 페이지를 새로 만들 만큼 안드로이드에서 많은 사랑을 받고 있는 새로운 선언형 UI 개발 툴킷 입니다.
아직은 적은 숫자이긴 하지만, 최근들어 프로덕트에서 이를 채택하여 앱을 개발하는 기업들이 나오고 있습니다. 그만큼 편리성과 많은 기능들을 지원하며 추후 XML 을 완전히 대체할 수 있고 안드로이드 개발자로서 필수 역량이 될 것이라고 저는 생각하고 있습니다.
뭐든지 특정 기술을 더 자유롭고 잘 다루기 위해선 내부적으로 어떻게 동작하는지 알아야 하듯이, Jetpack Compose 또한 예외는 아닙니다. 따라서 Jetpack Compose 가 내부적으로 어떻게 동작하는지에 대해 글을 작성해보려 합니다.
내부 동작을 이해하기 위해선 Jetpack Compose 의 기본적인 개념들 당연히 요구하며, 앞으로 이 시리즈에선 이에 대해서 다루지 않습니다. Jetpack Compose 에 대해 간단히 알아보시려면 “모바일 UI 개발의 새로운 혁명” 을 읽어보세요.
다뤄목 목차는 아직 모두 정해지지 않았습니다. 현재까지 작성된 글과 작성 예정인 내용들은 아래와 같습니다. (순서대로 보시는걸 권장드립니다)
- Jetpack Compose 컴파일러가 부리는 마법 완전히 파헤치기
- Jetpack Compose가 UI를 그리는 방법: 구체화 (요약 버전)
- Jetpack Compose가 UI를 그리기 까지의 여정
- Jetpack Compose 데이터 저장 시스템
- Slot Table 에 대한 추가 자료: Gap Buffer 알아보기
- Jetpack Compose 기본 용어들 제대로 알아보기
- Jetpack Compose 스냅샷 시스템 소개
- Jetpack Compose 스냅샷 시스템 분석
- Jetpack Compose RememberObserver 소개
- Jetpack Compose 런타임에서 일어나는 마법 완전히 파헤치기 — Recomposer
- Jetpack Compose 런타임에서 일어나는 마법 완전히 파헤치기 — doCompose
- Jetpack Compose 런타임에서 일어나는 마법 완전히 파헤치기 — Invalidation
- Jetpack Compose 런타임에서 일어나는 마법 완전히 파헤치기 — Canvas [예정]
- Jetpack Compose CompositionLocal 구현 분석
- Flutter에서만 되던 hot-reload, Jetpack Compose는 어떻게 구현했을까?
- Jetpack Compose @Preview 구현 분석
Jetpack Compose 는 멀티플랫폼에 맞춰 개발되었습니다. 우리는 안드로이드 개발자이기 때문에 안드로이드 환경을 기준으로 알아보겠습니다.
부록
추가로 “안드로이드/코루틴 분석하기” 시리즈도 연재하고 있습니다.
안드로이드 개발자 분들을 위한 카카오톡 오픈 채팅방을 운영하고 있습니다.