https://kotlinlang.org logo
#compose
Title
# compose
m

Mehdi Haghgoo

06/28/2022, 4:10 PM
@jw As per https://jakewharton.com/multiplatform-compose-and-gradle-module-metadata-abuse, have you written all your UI from scratch without any Compose UI compoent?
j

jw

06/28/2022, 4:34 PM
We use existing Android Views and UIKit powered by Compose
1
a

andrew

06/28/2022, 5:42 PM
So is there a compose applier for UIKit internally within your org?
j

jw

06/28/2022, 5:44 PM
the applier and node tree is platform independent, although i did prototype a uikit-specific applier but that was like 2 years ago at this point
a

andrew

06/28/2022, 5:45 PM
Interesting... and I'm guessing this isn't public either, wouldn't expect it given how hacky it seems to use. Very interesting though
j

jw

06/28/2022, 5:46 PM
what is hacky? the original prototype for compose target the Android View tree. it was only like a year later that it was decided to build a new UI toolkit at the same time.
a

andrew

06/28/2022, 5:46 PM
Using Compose for iOS in some way has floated across my mind at multiple points, as we are rewriting our app at work. Right now it is in Compose and SwiftUI, but I'd love to share code
I just mean the wrangling the dependency system
With juggling all the dup classes in the classpath due to the differing compose runtime dependencies, having to replace with placeholders in the internal dependency graph, etc. I'm sure the actual applier is pretty stable, and not hacky at all 😉
And the nifty things I've seen come out of the compose runtime, like generating powerpoints out of compose nodes using the applier system and runtime, etc; it goes to show how versatile it really is.
4 Views