[독후감] Jetpack Compose Internal

으아 어렵다. 다시 읽자.

by 왕오리

엄재웅, 류기민 님이 번역한 Jetpack Compose Internals를 다 읽었다. 어려운 책이기도 하고, 띄엄띄엄 읽다 보니 과연 이 책을 다 소화했다고 얘기할 수 있을지는 모르겠다. 하지만 이런 책은 일단 어떻게든 한번 떼고, 여러 번 읽다 보면 언젠간 소화하겠지?


Jetpack Compose는 이제는 명실공히 안드로이드 UI 개발 표준이라고 부를 수 있다. 아직까지 xml 기반 뷰를 만지는 곳들은 대부분 피치 못할 사정이 있어 눈물을 흘리며 쓰고 있으리라. 하지만 이 책은 각종 Modifier 니 UI 컴포넌트 등 Compose로 UI를 만드는 내용이 아닌, Compose 가 어떻게 동작하는지 그 내부 동작을 들여다보는 책이다.


Compose를 처음 접했을 때 꽤 당황스러웠다. 모름지기 함수라고 하면 내가 명시적으로 호출하면 그때 불려져야 하는데, @composable 함수들은 인자가 바뀐다거나 하는 상황에서 알아서 호출이 되고, 이에 따라 온갖 remember , launch , sideeffect , state 같은 녀석들을 줄줄이 공부해야 한다. 아니, 대체 무슨 마법으로 이렇게 인자 변경을 감지해서 재호출이 일어나는 걸까? 이 책은 이 내부의 마법들을 파헤치는 책인데, 그러다 보니 참 쉽지가 않다. 그동안의 Compose UI 개발 짬밥으로 이제는 술술 넘어가는 부분도 있는가 하면, 머리에서 스팀이 나오는 부분도 있다. 이런 부분 꼬치꼬치 짚고 넘어가면 완독 하기가 참으로 괴로워지니 막혀도 고민 좀 하다 넘어가는 게 훨씬 득이 되리라 본다.


비록 이 책이 나온 후에 지금도 compose 엔 많은 변경이 일어나고 있기에, 책에서 다룬 api들이 일부 없어지기도 했지만 근본적인 compose compiler와 runtime의 근간은 크게 바뀌지 않았기에 여전히 compose를 진지하게 다루고자 하는 분들에겐 분명 많은 도움이 될 책이라고 본다. 나도 설렁설렁 넘어간 부분들이 있지만 확실히 읽기 전보다는 한 단계 더 발전했다고 생각한다. 한 열 번쯤 더 읽으면 속속들이 알 수 있을까? @_@


번역하신 엄재웅 님과 류기민 님에게도 감사를... 진짜 고생하셨겠다.


매거진의 이전글[독후감] 클로드 코드 완벽 가이드