#
Libraries
Libraries that you can add to your project. See Toolchain > Gradle for instructions.
This list includes libraries I have used, libraries that I have seen used in previous offerings of this course, and libraries that I have seen recommended by others online.
Please read documentation carefully and make sure to use the most recent version of a library. I strongly recommend testing a library against a small sample project before committing to it.
#
Official Libraries
These official libraries supported by JetBrains.
- Exposed is a DSL/DAO database framework. SQLDelight is more common for Android.
- Kandy is a plotting library, for displaying charts and graphs. Beta IIRC.
- Kotlinx datetime is the official datetime library.
- Kotlinx is the official serialization library.
- Ktor is a library for building networked clients and services.
- Markdown is a parsing library and markdown component.
#
Third-Party Libraries
These libraries are released and supported by the community. We only list libraries that claim to be multiplatform, meaning that they will run on Android, Desktop, or any supported platform.
Apart from the list here, there are also community maintained lists:
- JetBrains Package Search is the semi-official JetBrains package index.
- Awesome KMM is a curated list of community-contributed libraries.
- Appdirs: Find special folders for your platform e.g., Windows Pictures folder.
- Clickt: Command-line interface framework. Used for console apps only.
- Coil: Image loading library, uses coroutines. Competes with Kamel.
- File Picker: Compose multiplatform file picker. Strangely absent from Compose.
- Keval: A Kotlin mini library for math expression string evaluation.
- Kamel: An image loading library. Competes with Coil.
- Kotter: Declarative API for dynamic console applications.
- Ksoup: Kotlin multiplatform HTML/XML parser. Port of Jsoup to Kotlin.
- Kweb: Kotlin web framework. Manipulate DOM elements in Kotlin.
- Odyssey: Multiplatform navigation library. Alternative to Voyager.
- Okio: Multiplatform IO library. Useful for working with byte streams.
- SQLDelight: Database integration. Alternative to Exposed to Android.
- Voyager: Navigation library. Alternative to Odyssey. See Meet Voyager.