eygraber
04/24/2025, 2:01 PMeygraber
04/24/2025, 2:01 PM<rant>
I've been using CMP pretty much since the beginning, yet despite the enormous amount of progress that's been made, it's still really difficult to work with.
I don't blame anyone for this, and it's been a really big undertaking, but I feel like sometimes it's being presented as more ready than it actually is. Or maybe it just feels that way because of how long it's been in development.
I spent most of 2024 working on CMP apps and libraries, and I've been maintaining libraries since then. Functionality and usage is great (aside from when the CMP and Android sources experience ABI drift, but that's another story).
One big problem that ultimately led to me not continuing with CMP app work is tooling.
Every release of Kotlin and CMP (including patch versions) led to frustrating build bugs that at best had a janky workaround, and at worst meant I couldn't update. Because of the longer update cycles it meant that I would have to wait weeks to months before the issue was resolved, and frequently the issue wasn't fully resolved which led to additional weeks or months of waiting.
I filed bugs for all of the problems, and the jetbrains employees who worked on them did an excellent job at dealing with them, but the process was such a mental overload that I found myself not wanting to work on these apps anymore.
I've been working on a regular Android / Jetpack Compose app since the end of 2024, and it just works. There are no issues when I update Kotlin or Compose, or anything else, there are never any ABI issues, and I don't remember having to file a YouTrack issue for quite some time. The QoL and DX is just so much better.
I know we'll get to this point with CMP, and I'm looking forward to it, but we're not quite there yet.
<\rant>
Colton Idle
04/25/2025, 8:36 PM