kotlinx.coroutines
compose-multiplatform
Our great sponsors
kotlinx.coroutines | compose-multiplatform | |
---|---|---|
59 | 96 | |
12,710 | 14,664 | |
0.6% | 2.0% | |
8.9 | 9.6 | |
3 days ago | 5 days ago | |
Kotlin | Kotlin | |
Apache License 2.0 | 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.
kotlinx.coroutines
-
Gradle: from Newbie to Strong fundamentals
Now, let's consider an example. For instance, let's create a Kotlin/JVM project with kotlinx.coroutines library as a dependency.
-
Add `statefulMap` and `statefulTransform` operator to Kotlin coroutines' Flow
Greetings community, I just submited a PR to Kotlin coroutines with two additional operators :
-
Should I choose Kotlin over Java for a new project (backend)?
The harder parts of Kotlin are going to be things like kotlinx.coroutines, but that's just a library, not a core part of the language. It's about as hard to learn as a comparable library in another language, like the Task Parallel Library in .NET.
- kotlinx.coroutines 1.7.0 released
- Is it ok to have global scopes when the coroutine I'm starting has *nothing* to do with showing UI, nor do I care about its result?
- Release 1.7.0-Beta · Kotlin/kotlinx.coroutines
- Does the documentation of async{} and launch{} apply to each other? (Aside from the difference that async {} returned a Deferred)
-
Reactive Backend Applications with Spring Boot, Kotlin and Coroutines (Part 2)
Kotlin has coroutines that are supported by the language and implemented by a library (the implementation remains platform-dependent): kotlinx.coroutines and a sandbox environment is available here to try it out.
- Kotlinx Coroutines for Kotlin 1.7.x
-
Get value from coroutine function
That said, since it seems like you're doing UI stuff (Android?), you're best off doing all of the UI code in coroutines, using Dispatchers.Main as a context (as provided by one of the platform-specific coroutine libraries), since this will guarantee that your UI code will be safely run in the UI thread.
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-coroutines - Examples for coroutines design in Kotlin
javafx-examples - A large collection of JavaFX examples demonstrating basic + advanced features of JavaFX.
kotlin - The Kotlin Programming Language.
tornadofx - Lightweight JavaFX Framework for Kotlin
okio - A modern I/O library for Android, Java, and Kotlin Multiplatform.
skiko - Kotlin MPP bindings to Skia
korim - Korim: Kotlin cORoutines IMaging, Bitmap and Vector graphics for Multiplatform Kotlin
javafx-gradle-plugin - Gradle plugin that makes it easy to work with JavaFX 11+
korio - Korio: Kotlin cORoutines I/O : Virtual File System + Async/Sync Streams + Async TCP Client/Server + WebSockets for Multiplatform Kotlin 1.3
Jetpack-Compose-Playground - Community-driven collection of Jetpack Compose example code and tutorials :rocket: https://foso.github.io/compose
spring-native - Spring Native is now superseded by Spring Boot 3 official native support
tornadofx2 - TornadoFX 2.0