Ask HN: How's your experience with Compose/Kotlin multiplatform?
3 comments
I did an experiment with Kotlin Multiplatform.
1) Tooling for compiling/building was great
2) Most libraries I needed assumed Android Kotlin, and realized the multi-platform ecosystem is much much much smaller than the Kotlin ecosystem. Almost none of the big projects had support/CI/tests on multiplatform (even though most could). Lots of little dependancy bugs to chase down. This part was a deal breaker. Maybe it's gotten better, but this was only a year ago.
Went with go mobile instead. Amazing ecosystem (and everything just works), mediocre tooling (I've had to patch the project).
1) Tooling for compiling/building was great
2) Most libraries I needed assumed Android Kotlin, and realized the multi-platform ecosystem is much much much smaller than the Kotlin ecosystem. Almost none of the big projects had support/CI/tests on multiplatform (even though most could). Lots of little dependancy bugs to chase down. This part was a deal breaker. Maybe it's gotten better, but this was only a year ago.
Went with go mobile instead. Amazing ecosystem (and everything just works), mediocre tooling (I've had to patch the project).
Thanks for sharing
So it was death by a thousand cuts kind of thing
So it was death by a thousand cuts kind of thing
Kinda. Did a dummy project in a few languages to see what I wanted to use for the big project.
Looked at Go, Swift, Kotlin MP, and Rust.
I liked Kotlin tools, and small binary size. If I knew I wasn't going to need more libraries in the future I might pick it.
Go is great, although binaries a bit large with the runtime packed in, and TinyGo too limiting.
Rust: I couldn't find a good multi-language binding package so I skipped it... then later found https://github.com/mozilla/uniffi-rs It could be a top contender.
Looked at Go, Swift, Kotlin MP, and Rust.
I liked Kotlin tools, and small binary size. If I knew I wasn't going to need more libraries in the future I might pick it.
Go is great, although binaries a bit large with the runtime packed in, and TinyGo too limiting.
Rust: I couldn't find a good multi-language binding package so I skipped it... then later found https://github.com/mozilla/uniffi-rs It could be a top contender.
Compose multiplatform is new but seems good with many projects on GitHub. I found it more attractive than flutter but previous release announcemnts didn't get much attention here, the top one I could find has like 3 comments