Just tried it out and it doesn’t feel quite right on iOS. Almost like the app is just a website loading in a browser. It’s very flat and the UI feels too “thin” (I know that doesn’t really make sense but it’s the best description I of how it feels to me right now).
I guess it just doesn’t feel very native - more of a web wrapper?
It's indeed not a fully native application except on Android. It uses JetBrain's 'Compose Multiplatform' framework for the Kotlin programming language. Without having written code in it myself, it's difficult for me to work out exactly what its architecture is, but it seems closer to Flutter's approach than a web wrapper. My educated guess is that it renders the application inside an OpenGL/Metal graphics context. On Android, however, it looks like it uses Google's Jetpack Compose components directly.
> https://blog.jetbrains.com/kotlin/2023/05/compose-multiplatf...
>
> "On iOS, Compose Multiplatform user interfaces are rendered via a canvas implementation based on the graphics library Skiko [Skia for Kotlin]."
>
> So yes — it foregoes native controls for a canvas implementation that leverages the same 2D graphics library used for Chrome and Flutter.
fyi, flutter now uses a new graphics lib called impeller. It's not yet stable for Android though.
I used Kotlin and Compose Multiplatform for iOS. So not entirely native app and uses Material components. Not a web wrapper though, well, except for the reader view which uses webview of the platform.
I guess it just doesn’t feel very native - more of a web wrapper?