kotlin-libui
compose-multiplatform
kotlin-libui | compose-multiplatform | |
---|---|---|
1 | 96 | |
643 | 14,706 | |
- | 1.2% | |
0.0 | 9.6 | |
6 months ago | 2 days ago | |
Kotlin | Kotlin | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kotlin-libui
-
Kotlin Desktop - Which GUI library
This wrapper around libui (C library) is also somewhat usable: https://github.com/msink/kotlin-libui
compose-multiplatform
-
Understanding file associations in JVM apps
So, to add file associations, we need to be able to pass both the .properties file and the --file-associations option. At the time of writing this article, the org.jetbrains.compose plugin doesn't provide such a mechanism. There is an open issue on GitHub that describes a possible workaround, which, unfortunately seems to not work on macOS.
-
Compose cannot be used for large amount of text
JetBrains has a simplified example of a general-purpose Compose text viewer here: https://github.com/JetBrains/compose-multiplatform/blob/master/examples/codeviewer/shared/src/commonMain/kotlin/org/jetbrains/codeviewer/ui/editor/Editor.kt
-
[Compose Multiplatform] Disable a button according to a list of flow values
![image](https://github.com/JetBrains/compose-multiplatform/assets/1382241/6747a3f6-53b9-43da-8d97-ab1e1e31170f)
- Compose Multiplatform 1.5.0-beta01
-
Timeline with Scrollbar in LazyColumn Compose
Compose for desktop has a scrollbar component available. You probably can't use that directly on Android, but you could probably steal most of its code.
- How good is Compose Multiplatform in production especially in creating Desktop apps?
-
Kotlin for a desktop App
My company uses https://github.com/JetBrains/compose-multiplatform to make a desktop app in Kotlin. It's amazing and fantastic. It's basically as mature as using Kotlin in an Android app.
-
Kamel v0.5.0 released with Kotlin Native and JS support
Kamel is an asynchronous media loading library for Compose Multiplatform.
-
Ksoup - Kotlin Multiplatform HTML Parser ⚡
Kotlin Compose Multiplatform is the way to do Desktop apps. https://github.com/JetBrains/compose-multiplatform
-
JetBrains Compose is now Compose Multiplatform
As for missing controls, a common one is a grid. They have built in grids, but again they are built for Android and don't make any sense in a desktop app. There is no simple way to create an Excel-like Data Grid like you might see in Windows Forms, although it can be done. https://github.com/JetBrains/compose-multiplatform/issues/344.
What are some alternatives?
kotlin-native-gtk - GTK+ bindings for Kotlin Native
javafx-examples - A large collection of JavaFX examples demonstrating basic + advanced features of JavaFX.
Splitties - A collection of hand-crafted extensions for your Kotlin projects.
tornadofx - Lightweight JavaFX Framework for Kotlin
skiko - Kotlin MPP bindings to Skia
FlatLaf - FlatLaf - Swing Look and Feel (with Darcula/IntelliJ themes support)
javafx-gradle-plugin - Gradle plugin that makes it easy to work with JavaFX 11+
Pokedex - Pokedex - a Kotlin Multiplatform app, built with Compose multiplatform, Coroutines, Flow, Koin, Ktor, SqlDelight, Decompose, MVIKotlin, and Material 3 based on MVI architecture
Jetpack-Compose-Playground - Community-driven collection of Jetpack Compose example code and tutorials :rocket: https://foso.github.io/compose
tornadofx2 - TornadoFX 2.0
kotlinx.coroutines - Library support for Kotlin coroutines