Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

      • korau - Pure Kotlin WAV, MP3 and OGG vorbis decoders
      • korau - Pure Kotlin WAV, MP3 and OGG vorbis decoders
    • 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

    • 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

      • tgbotapi - Strongly-typed API wrapper for [Telegram Bot API](https://core.telegram.org/bots/api) with
      • tgbotapi - Strongly-typed API wrapper for [Telegram Bot API](https://core.telegram.org/bots/api) with
    • Math