A clarification question on <https://twitter.com/J...
# compose-ios
m
A clarification question on https://twitter.com/JimSproch/status/1646495932673064961:
The output of the Kotlin compiler is truly naive, indistinguishable from a library written in Java/ObjectiveC on their respective platforms, you can directly call Android/iOS APIs.
Which native iOS APIs does Compose for iOS use? UIKit? CoreGraphics? Some of both?
I see a UIKit
h
what does this even mean? it reads like bitcoin spam
a
I've asked the same question today at the JetBrains booth at KotlinConf, and from how I understood it, it's all drawn on a canvas. So no native widgets under the hood
h
It uses skia.
a
^
They bind to native skia calls using Skiko
d
Compose uses UIKit: UIView, UIViewController for display own canvas And some another iOS API: Like keyboard events, orientation events, etc.
But most of the UI is drawn on canvas with Skia
c
Oh really, no native controls?
d
For now - no native controls
Skia uses Metal to draw primitives
And we use Skia to draw all of UI elements
s
For Native Components there will be Redwood. https://github.com/cashapp/redwood/ The talk at KotlinConf:

https://youtu.be/WwMxXcFX1dI?list=PLlFc5cFwUnmwcJ7ZXyMmS70A9QFyUu1HI&amp;t=22709

At some point I hope to see a Compose UI Multiplatform and Redwood interop (Redwood Compose UI Widget).
d
Thanks, Redwood it is also very interesting product! We are thinking about using Redwood inside our Compose Multiplatform with a simplified version of UIKitView (maybe RedwoodView) right inside Compose Multiplatform. This approach can help to share the same State<T>