asteroids-compose-for-desktop
compose-multiplatform
asteroids-compose-for-desktop | compose-multiplatform | |
---|---|---|
2 | 96 | |
89 | 14,706 | |
- | 1.2% | |
0.0 | 9.6 | |
about 1 year ago | 2 days ago | |
Kotlin | Kotlin | |
- | 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.
asteroids-compose-for-desktop
-
How I built an "Asteroids" game using Jetpack Compose for Desktop
We will take a look at parts and structures in the code that I find the most interesting. To see how it all fits together, I suggest exploring the whole code on GitHub. The whole implementation is only 300 lines of code, which I hope makes studying and understanding it easy.
-
Tips & tricks for building a game using Jetpack Compose for Desktop
This concludes our tour of building a small game with Compose for Desktop! To see how all the pieces fit together, read the source code (~300 lines of code) on GitHub!
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?
aurora - Building modern, elegant and fast desktop Compose applications
javafx-examples - A large collection of JavaFX examples demonstrating basic + advanced features of JavaFX.
openrndr - OPENRNDR. A Kotlin/JVM library for creative coding, real-time and interactive graphics
tornadofx - Lightweight JavaFX Framework for Kotlin
chip-8 - SwiftUI, Jetpack Compose, Compose for Wear, Compose for Web and Compose for Desktop based Kotlin Multiplatform fork of https://github.com/cbeust/chip-8 (Chip-8 Emulator)
skiko - Kotlin MPP bindings to Skia
Neon - Android game made with Jetpack Compose.
javafx-gradle-plugin - Gradle plugin that makes it easy to work with JavaFX 11+
Dino-Game - Simple Dino Game 🎮 made using Compose multiplatform ( There's no Dino but who cares 🤣 ) I used Kotlin multiplatform with Compose multiplatform, for now the game works for android and desktop (IOS and Web soon ⏳ ).
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