Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-kotlin-multiplatform
We are Rx-Mobile-Team (https://rx-mobile-team.github.io/profile/). Kotlin Multiplatform. Welcome PR if you find or create new Kotlin Multiplatform Library and Project.
https://github.com/hoangchungk53qx1/awesome-kotlin-multiplatform
Last synced: 2 days ago
JSON representation
-
Libraries
-
Network
- Ktor - Framework for quickly creating connected applications in Kotlin with minimal effort
- ktor-client-oauth-feature - Ktor Client Feature for handling OAuth token refreshes
- kmp-tor - Embed Tor into your application.
- Ktorfit - HTTP client / Kotlin Symbol Processor for Kotlin Multiplatform (Js, Jvm, Android, Native, iOS) using KSP and Ktor clients inspired by Retrofit
- cognito-idp - Lightweight AWS Cognito Identity Provider client for Kotlin Multiplatform projects.
- fuel - The easiest HTTP networking library for Kotlin backed by Kotlinx Coroutines.
- rsocket-kotlin - [RSocket](https://rsocket.io) Kotlin multi-platform implementation based on [kotlinx.coroutines](https://github.com/Kotlin/kotlinx.coroutines) and [Ktor](https://github.com/ktorio/ktor).
- kotliny.network - Simple, powerful and lightweight Kotlin Multiplatform Network Client.
- kgql - GraphQL Document wrapper generator for Kotlin Multiplatform Project and Android
- webrtc-kmp - WebRTC Kotlin Multiplatform SDK.
- apollo - JSON-RPC Kotlin Multiplatform client.
- krossbow - A Kotlin multiplatform coroutine-based STOMP client over websockets
- Connectivity status - Monitor the internet connection status of your device on Android and iOS.
- Highlights - Kotlin Multiplatform syntax highlighting engine.
- apollo - Multiplatform official GraphQL client.
- suparnatural-graphql - Strict type safe GraphQL client with support for composable links.
- apollo - Multiplatform official GraphQL client.
- apollo - Multiplatform official GraphQL client.
-
Repository
- Store - A Kotlin Multiplatform library for building network-resilient applications.
-
Serializer
- kotlinx.serialization (official) - Kotlin multiplatform / multi-format serialization
- YAKL - A YAML 1.2 processor
- KoAP - CoAP encoder/decoder with support for UDP ([RFC 7252](https://tools.ietf.org/html/rfc7252)), TCP ([RFC 8323](https://tools.ietf.org/html/rfc8323)) and Observe ([RFC 7641](https://tools.ietf.org/html/rfc7641)).
- Pbandk - Kotlin code generator and runtime for Protocol Buffers
- Kase64 - Base64 encoder/decoder for Kotlin/Multiplatform. Supports standard and URL-safe encodings.
- Kex - Hex string encoder/decoder for Kotlin/Multiplatform.
- Ktoml - MPP serialization library (decoder/encoder) for TOML format.
- encoding - Rfc 4648 Section 4-8 compliant encoding (Base 16, 32 Crockford, 32 Default, 32 Hex, 64 Default, 64 Url Safe).
- parcelize - Implement Android `Parcelable` from common code.
- Ktoml - MPP serialization library (decoder/encoder) for TOML format.
-
Storage
- SQLiter - Minimal multiplatform sqlite library
- Door - Room for Kotlin Multiplatform.
- Realm - Kotlin Multiplatform and Android SDK for the Realm Mobile Database: Build Better Apps Faster.
- Kodein-DB - Embedded NoSQL database
- Couchbaselite - Kotlin Multiplatform wrapper for the Couchbase Lite Mobile Database.
- multiplatform-settings - A Kotlin Multiplatform library for saving simple key-value data.
- KVault - Secure key-value storage for Kotlin Multiplatform projects.
- Kissme - Kissme: Kotlin Secure Storage Multiplatform
- Multiplatform-Preferences - Kotlin Multi Platform Preferences, for android an ios : SharedPreferences & NSUserDefault.
- kds - Multiplatform coroutine-based kotlin library for saving Serializables with kotlinx.serialization and delegates.
- Kottage - Kotlin Multiplatform Key-Value Store Local Cache Storage for Single Source of Truth.
- Universal-Cache - Kotlin Flow caching and request sharing. Main idea: don't request data more times than it's needed.
- okio - A modern I/O library for Android, Java, and Kotlin Multiplatform.
- KStore - A tiny Kotlin multiplatform library that assists in saving and restoring objects to and from disk using kotlinx.coroutines, kotlinx.serialisation and okio.
- Kfswatch - Kotlin Multiplatform File System Watcher
- suparnatural-fs - Kotlin Multi Platform File System access library for `iOS` and `Android`.
- suparnatural-cache - A superfast, thread safe in-memory cache with configurable hashing schemes backed by persistent stores with blocking/non-blocking I/O.
- Kodein-DB - Embedded NoSQL database
-
DI
- Koin - A pragmatic lightweight dependency injection framework for Kotlin
- PopKorn - Forget about modules and components. DI can be simple.
- kotlin-inject - Dependency injection lib for kotlin.
- Koject - DI Container library for Kotlin Multiplatform.
- Kodein-DI - Painless Kotlin Dependency Injection
-
Image
- Kraphviz - [Graphviz](https://graphviz.org/) for Kotlin Multiplatform.
- Kim - Kotlin Image Metadata - Kotlin Multiplatform library for reading and writing image metadata.
- korim - Kotlin cORoutines IMaging, Bitmap and Vector graphics for Multiplatform Kotlin
-
Audio
-
Bluetooth
- Blue-Falcon - A Bluetooth kotlin multiplatform "Cross-Platform" library for iOS and Android
- Kable - Simple Coroutines-powered API for interacting with Bluetooth Low Energy devices.
-
Reactive
- Reaktive - Kotlin multi-platform implementation of Reactive Extensions
- RxCommon - Multiplatform implementation of ReactiveX providing a common way to build one set of business logic for native, iOS, Javascript, Android, JVM, and other platforms
- Multiplatform-LiveData - Multiplatorm implementation of LiveDatas / MVVM in kotlin android & native ios
-
Utility
- coroutine (official) - Support for Kotlin coroutine.
- Koru - Coroutine wrappers for Kotlin Native generated from annotations.
- KMP-NativeCoroutines - Library to use Kotlin Coroutines from Swift code in KMP apps.
- FlowExt - Kotlinx Coroutines Flow Extensions. Extensions to the Kotlin Flow library.
- time - Type-safe time periods for the Kotlinx-datetime multiplatform date/time library
- fluid-time - Kotlin multiplatform date & time library
- kcron - Kotlin multiplatform Cron library
- kotlinx-datetime - Official date and time library
- island-time - A Kotlin Multiplatform library for working with dates and times
- time - Type-safe time calculations in Kotlin, on any platform
- Kronos Multiplatform - Network Time Protocol (NTP) library
- SemVer-KMP - A Kotlin library for Semantic Versioning with ranges and other features.
- kotlin-semver - Semantic Versioning library for Kotlin Multiplatform.
- Multiplatform-Bus - Kotlin event-bus compatible with Android & native iOS.
- Event4k - MultiPlatform Kotlin EventBus library - simple, bidirectional, concurrent.
- kotlin-multiplatform-bignum - A Kotlin multiplatform library for arbitrary precision arithmetics
- kotlinx-murmurhash - Multiplatform library for MurmurHash, a non-cryptographic hash function for general hash-based lookup focused on simplicity and performance.
- krypt - Cryptography library. Support for SecureRandom, Hash(MD5/SHA1/SHA256), AES.
- kotlin-multiplatform-libsodium - A Kotlin Multiplatform wrapper for Libsodium cryptography library.
- cryptography-kotlin - Type-safe Multiplatform cryptography library for Kotlin which doesn't implement any cryptography algorithm on its own, but wraps well-known future-proof solutions like [OpenSSL 3.x](https://www.openssl.org), [WebCrypto](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) or [JCA](https://docs.oracle.com/en/java/javase/17/security/java-cryptography-architecture-jca-reference-guide.html).
- KotlinCrypto/hash - Hash functions (MD5/SHA1/SHA2/SHA3).
- KotlinCrypto/MACs - Message Authentication Code functions (Hmac MD5/SHA1/SHA2/SHA3, KMAC).
- KotlinCrypto/sponges - Sponge functions & state (Keccak-p).
- KotlinCrypto/secure-random - Cryptographically secure random number generator, `SecureRandom`.
- FuzzyWuzzy-Kotlin - Fuzzy string matching on collections. Port of python & java library.
- kasechange - Multiplatform Kotlin library to convert strings between various case formats including Camel Case, Snake Case, Pascal Case and Kebab Case.
- kotlin-multiplatform-diff - Multiplatform Kotlin library for calculating text differences.
- doistx-normalize - - Kotlin Multiplatform library for string unicode normalization ([UAX #15](https://unicode.org/reports/tr15/)).
- keyboard-mouse-kt - Multiplatform Kotlin library for interacting with global keyboard and mouse events and states.
- Kotlin-Multiplatform-Firebase - Kotlin Multiplatform - Android/iOS/Web/Node.Js(Firebase)
- FirestoreKMP - Firestore KMP Library
- measurer - Google Analytics(using measurement protocol).
- SegmenKT - A Segment wrapper for Kotlin Multiplatform.
- sentry-kotlin-multiplatform - [Sentry](https://sentry.io/) SDK for Kotlin Multiplatform.
- AtomicFu - The idiomatic way to use atomic operations in Kotlin
- uuid - Kotlin Multiplatform UUID
- Multiplatform Paging - Kotlin Multiplatform library for Pagination on Android and iOS
- Stately - The library is set of multithreaded collection classes that will allow multithreaded mutation in Kotlin/Native.
- coroutineworker - Kotlin Coroutine-based workers for native
- Measured - Intuitive, type-safe units of measure.
- KotlinCrypto/endians - Utils for converting `Short`, `Int`, `Long` to/from `BigEndian` and `LittleEndian` bytes.
- kotlin-result - A multiplatform Result monad for modelling success or failure operations.
- ApiResult - A monad for declarative & functional error-handling with a rich DSL.
- Résultat - A fork of Kotlin Result with a loading state.
- value-clazz - Functionally equivalent to a Kotlin `value class` that implements an interface, but inheritance based and compiles to platform code.
- ktmpwasm - A WebAssembly interpreter for Kotlin Multiplatform.
- XMP Core for Kotlin Multiplatform - Kotlin Multiplatform port of Adobe's XMP SDK.
- RSS-Parser - A Kotlin Multiplatform library to parse a RSS Feed
- suparnatural-concurrency - Unified APIs such as Workers, Schedulers for cross-platform multithreading on `iOS` and `Android`.
- Kotlin utilities - Scala utility types: `Option`, `Either`, `Try` for Kotlin Multiplatform.
- klock - Multiplatform Date and time library for Kotlin
- krypt - Cryptography library. Support for SecureRandom, Hash(MD5/SHA1/SHA256), AES.
- FirestoreKMP - Firestore KMP Library
- AtomicFu - The idiomatic way to use atomic operations in Kotlin
-
Debug
- Napier - Logging library for Kotlin Multiplatform.
- KmLogging - High performance, composable multiplatform logging.
- klogger - Logging library for Kotlin Multiplatform.
- Multiplatform-Log - Logging library for Kotlin Multiplatform.
- Kermit - Kotlin Multiplatform logging utility with composable log outputs and prebuilt loggers.
- Log4k - Logging library for Kotlin Multiplatform.
- Cabret-Log - Method call logging for Kotlin Multiplatform
- KmmAnkoLogger - fork of the AnkoLogger for use it with Kotlin Multiplatform Mobile
- klogger - Logging library for Kotlin Multiplatform.
-
Test
- assertk - Assertions for kotlin inspired by assertj.
- Atrium - A multiplatform assertion library for Kotlin.
- konform - Portable validations.
- Mockative - Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP)
- MocKMP - A Kotlin/Multiplatform Kotlin Symbol Processor that generates Mocks & Fakes.
- kotlinx-resources - Multiplatform library for reading resources in tests.
- Truthish - Multiplatform library with a testing API inspired by Google Truth.
- testmints - Lightweight test semantic-sugar, to improve readability.
- jsmints - A suite of libraries and gradle plugins for working with Kotlin JS, with a focus on testing and version updating.
- mockk - Mocking library for test.
- kotest-framework - Multiplatform test framework for Kotlin.
- MocKMP - A Kotlin/Multiplatform Kotlin Symbol Processor that generates Mocks & Fakes.
-
Annotation Processor
- MpApt - Kotlin Native/JS/JVM Annotation Processor library
- kotlin-native-suspend-function-callback - Kotlin Multiplatform compiler plugin to generate a callback implementation for suspended functions so they are visible from Kotlin Native
- trckr - KSP processer that simplifies the collection of analytics
- KMP-ComposeUIViewController - KSP library for generating ComposeUIViewController and UIViewControllerRepresentable files when using Compose Multiplatform for iOS
-
GUI
- moko-widgets - Declarative UI and screens management in common code for mobile (android & ios) Kotlin Multiplatform development
- kgl - This library provides a thin OOP wrapper with DSLs to make programming with vulkan easier.
- kotlin-libui - Kotlin/Native interop to libui: a portable GUI library
- kotlin-material-ui - Kotlin Wrapper Library of Material-UI
- muirwik - Kotlin Wrapper Library of Material-UI
- compose-macos-theme - Multiplatform MacOS theme written in Compose UI
- componentbox - A Kotlin multiplatform library for building dynamic server-driven UI
- kontrol - A Kotlin Multiplatform library for creating a debugging menu
- Material Theme Preferences - Switching Dark/Light Material themes on Compose
- DrawBox - The first multiplatform library to draw anything on canvas.
- typist-cmp - A Highly Customisable Typing Animation Library for Compose Multiplatform (Android & iOS)
- koala-plot - A Compose Multiplatform based charting and plotting library written in Kotlin
-
Command Line Interface
- Clikt - Multiplatform command line interface parsing for Kotlin
- Kotter - Multiplatform library for Kotlin command-line applications with support for text styling, animations, timers, and input.
- Mordant - Multiplatform text styling for Kotlin command-line applications
- Command_Parser - Multiplatform command parser using kotlinx.coroutines
-
Firebase
- Firebase Kotlin SDK - Firebase SDK for Kotlin Multiplatform projects (Firebase Authentication, Realtime Database, Cloud Firestore, Cloud Functions, Cloud Messaging and Cloud Storage).
- Firebase Kotlin SDK - Firebase SDK for Kotlin Multiplatform projects (Firebase Authentication, Realtime Database, Cloud Firestore, Cloud Functions, Cloud Messaging and Cloud Storage).
-
Architecture
- kompass - Kotlin Multiplatform Router for Android and iOS
- Decompose - Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing functionality and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.), inspired by Badoos RIBs fork of the Uber RIBs framework.
- oolong - MVU for Kotlin Multiplatform
- moko-mvvm - MVVM architecture components for mobile multiplatform with LiveData (iOS and Android)
- MVIKotlin - MVI framework for Kotlin Multiplatform.
- Orbit MVI - MVI framework for Kotlin Multiplatform.
- ReduxKotlin - Redux implementation for Kotlin (supports multiplatform JVM, native, JS, WASM)
- FlowMVI - Plugin-based Kotlin Multiplatform MVI framework.
- ReKamp - Port of [ReKotlin](https://github.com/ReKotlin/ReKotlin) to Kotlin Multiplatform, which corresponds to [ReKotlin/1.0.4](https://github.com/ReKotlin/ReKotlin/releases/tag/1.0.4).
- Kaskade - Simplifying UI state management in Kotlin Multiplatform.
- Flywheel - A simple and predictable state management library inspired by Redux and a few more. Fully built on top of coroutines using the concept of [actors](https://www.brianstorti.com/the-actor-model/).
- KStateMachine - KStateMachine is a Kotlin DSL library for creating state machines and hierarchical state machines (statecharts).
- Premo
- multiplatform-viewmodel
- Direkt - Kotlin Multiplatform Router for Android, iOS, Js
- compose_bloc - State Management and Navigation Library for Jetpack Compose and Compose Multiplatform.
- Ballast - Opinionated Application State Management framework for Kotlin Multiplatform
- Kotlin Bloc - A simple, predictable and composable UI framework for Kotlin Multiplatform
- kmp-viewmodel - Shared ViewModel in Kotlin Multiplatform - A Kotlin Multiplatform library that provides shared MVVM for UI applications. Components are lifecycle-aware on Android.
- moko-template - Template project of a Mobile (Android & iOS) Kotlin MultiPlatform project with the MOKO libraries and modularized architecture
- KMMT - KMMT is a Multi-Module KMM based project template designed to simplify the KMM development. It uses a simplified approach that can be shared both in android and iOS easily. This template include network module, persistence module, resource module, analytics module ( with ios native library integration), domain module, presenter module etc.
- KStateMachine - KStateMachine is a Kotlin DSL library for creating state machines and hierarchical state machines (statecharts).
-
Docs
- dokka (official) - Documentation Engine for Kotlin.
-
Build & Development Tools
- BuildKonfig - It reads values from properties and adds those into Build config like Android.
- kotlin-native-cocoapods - Gradle plugin for configuring Kotlin/Native with Cocoapods.
- kotlin-frontend-plugin (official) - ~~Gradle plugin for frontend development.~~
- xcode-kotlin - Kotlin Native Xcode Plugin
- xcode-compat(official) - AppCode helper for Kotlin/Native and Xcode
- KotlinXcodeSync - Sync Kotlin files with an Xcode project
- kotlinx-benchmark(official) - https://github.com/Kotlin/kotlinx-benchmark
- mobile-multiplatform-gradle-plugin - Gradle plugin to make Multiplatform projects settings simplier
- kotlinx-ast(official) - Generic AST parsing library for kotlin multiplatform
- KaMPKit - KaMP Kit by Touchlab is a collection of code and tools designed to get your mobile team started quickly with Kotlin Multiplatform
- Zakadabar - A Kotlin Multiplatform library for full-stack software development
- multiplatform-swiftpackage - This is a Gradle plugin for Kotlin Multiplatform projects that generates an XCFramework for your native Apple targets and creates a matching Package.swift file to distribute it as a binary target.
- Swift Klib - This is a Gradle Plugin to build Swift code as part of your Kotlin Multiplatform project. With this plugin, you can access Swift-only iOS libraries, such as CryptoKit and experiment with Swift to Kotlin interoperability.
- here
- kotlin-dce - This tool allows to strip out unused properties, functions and classes from the generated JS.
- kotlin-native-cocoapods - Gradle plugin for configuring Kotlin/Native with Cocoapods.
- KotlinXcodeSync - Sync Kotlin files with an Xcode project
-
Artificial Intelligence
- 2P-Kt - A Kotlin-based, multi-platform, open ecosystem for _symbolic_ artificial intelligence (AI) and logic programming (LP), currently supporting many facilities for LP and a full-fledged, extensible, ISO-standard Prolog solver.
- Y-Chat - Y—Chat is a Kotlin Multiplatform (KMP) project that provides a simple API for integrating the powerful ChatGPT language model developed by OpenAI into mobile applications running on multi platforms.
-
Social
-
Math
- Multiplatform expressions evaluator - Runtime infix expressions evaluator.
-
Programming Languages
Categories
Sub Categories
Keywords
kotlin
124
kotlin-multiplatform
106
android
61
kotlin-native
38
ios
31
kotlin-library
26
multiplatform
25
kotlin-multiplatform-mobile
16
android-library
15
kotlin-multiplatform-library
13
java
12
coroutines
12
kotlin-coroutines
11
kotlin-android
11
jvm
11
kotlin-js
10
kmp
10
swift
9
multiplatform-kotlin-library
9
gradle-plugin
8
kotlin-jvm
7
mvi
6
native
6
time
6
cryptography
6
android-lib
6
desktop
5
compose-multiplatform
5
library
5
date
5
kotlinx-serialization
5
mvvm
5
kmm
5
datetime
4
testing
4
kotlin-ios
4
gradle
4
cryptography-library
4
compose
4
android-libs
3
macos
3
navigation
3
kotlinx
3
architecture
3
reactive
3
kodein
3
kodein-framework
3
javascript
3
cross-platform
3
js
3