Hacker News new | ask | show | jobs
by seabass-labrax 874 days ago
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.
1 comments

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.

> 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.

https://docs.flutter.dev/perf/impeller