Skip to content

Latest commit

 

History

History
974 lines (784 loc) · 31.7 KB

README.md

File metadata and controls

974 lines (784 loc) · 31.7 KB

Kotlin Multiplatform Libraries

Libraries

Network

Http

  • Ktor - Framework for quickly creating connected applications in Kotlin with minimal effort
    badge badge badge badge badge badge badge

  • ktor-client-oauth-feature - Ktor Client Feature for handling OAuth token refreshes
    badge badge

  • kmp-tor - Embed Tor into your application.
    badge badge

GraphQL

  • apollo - Multiplatform official GraphQL client.
    badge badge badge

  • suparnatural-graphql - Strict type safe GraphQL client with support for composable links.
    badge badge badge

  • kgql - GraphQL Document wrapper generator for Kotlin Multiplatform Project and Android

Real-time communication

Stomp

  • krossbow - A Kotlin multiplatform coroutine-based STOMP client over websockets
    badge badge badge

Utility

  • Connectivity status - Monitor the internet connection status of your device on Android and iOS.
    badge badge

Authentication

  • cognito-idp - Lightweight AWS Cognito Identity Provider client for Kotlin Multiplatform projects.
    badge badge badge badge

Serializer

Storage

RDB

  • SQLDelight - Generates typesafe Kotlin APIs from SQL.
    badge badge badge badge badge badge badge badge badge

  • SQLiter - Minimal multiplatform sqlite library
    badge badge badge badge badge badge

NoSQL

  • Realm - Kotlin Multiplatform and Android SDK for the Realm Mobile Database: Build Better Apps Faster.
    badge badge

  • Kodein-DB - Embedded NoSQL database
    badge badge badge badge badge badge badge

KVS

  • multiplatform-settings - A Kotlin Multiplatform library for saving simple key-value data.
    badge badge badge badge badge badge badge badge badge

  • KVault - Secure key-value storage for Kotlin Multiplatform projects.
    badge badge

  • Kissme - Kissme: Kotlin Secure Storage Multiplatform
    badge badge

  • Multiplatform-Preferences - Kotlin Multi Platform Preferences, for android an ios : SharedPreferences & NSUserDefault.
    badge badge

  • kds - Multiplatform coroutine-based kotlin library for saving Serializables with kotlinx.serialization and delegates.
    badge badge badge badge

FILE

  • okio - A modern I/O library for Android, Kotlin, and Java.[WIP]
    badge badge badge badge

  • suparnatural-fs - Kotlin Multi Platform File System access library for iOS and Android.
    badge badge

  • suparnatural-cache - A superfast, thread safe in-memory cache with configurable hashing schemes backed by persistent stores with blocking/non-blocking I/O.
    badge badge

DI

  • Kodein-DI - Painless Kotlin Dependency Injection
    badge badge badge badge badge badge badge badge badge badge

  • Koin - A pragmatic lightweight dependency injection framework for Kotlin
    badge badge

  • PopKorn - Forget about modules and components. DI can be simple.
    badge badge badge badge badge badge

Image

  • korim - Kotlin cORoutines IMaging, Bitmap and Vector graphics for Multiplatform Kotlin
    badge badge badge badge badge badge badge badge badge

Audio

  • korau - Pure Kotlin WAV, MP3 and OGG vorbis decoders
    badge badge badge badge badge badge badge badge badge

Bluetooth

  • Blue-Falcon - A Bluetooth kotlin multiplatform "Cross-Platform" library for iOS and Android
    badge badge badge

  • Kable - Simple Coroutines-powered API for interacting with Bluetooth Low Energy devices.
    badge badge badge badge

Reactive

Rx

  • Reaktive - Kotlin multi-platform implementation of Reactive Extensions
    badge badge badge badge badge badge badge badge badge

  • 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
    badge badge badge badge

LiveData(Android)

Utility

Asynchronous

  • coroutine (official) - Support for Kotlin coroutine.
    badge badge badge badge badge badge badge badge badge

  • suparnatural-concurrency - Unified APIs such as Workers, Schedulers for cross-platform multithreading on iOS and Android.
    badge badge

  • Koru - Coroutine wrappers for Kotlin Native generated from annotations.
    badge badge badge badge badge badge

  • KMP-NativeCoroutines - Library to use Kotlin Coroutines from Swift code in KMP apps.
    badge badge badge badge

  • FlowExt - Kotlinx Coroutines Flow Extensions. Extensions to the Kotlin Flow library.
    badge badge badge badge badge badge badge badge badge

Date, Time

  • kotlinx-datetime - Official date and time library
    badge badge badge badge badge badge badge badge badge

  • klock - Multiplatform Date and time library for Kotlin
    badge badge badge badge badge badge badge badge badge

  • island-time - A Kotlin Multiplatform library for working with dates and times
    badge badge badge badge badge badge badge

  • time - Type-safe time calculations in Kotlin, on any platform
    badge badge badge badge badge badge

  • fluid-time - Kotlin multiplatform date & time library
    badge badge badge

  • kcron - Kotlin multiplatform Cron library
    badge badge badge badge

Semantic Versioning

  • SemVer-KMP - A Kotlin library for Semantic Versioning with ranges and other features.
    badge badge badge badge badge

  • kotlin-semver - Semantic Versioning library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge badge badge badge

EventBus

Number

Hashing

  • kotlinx-murmurhash - Multiplatform library for MurmurHash, a non-cryptographic hash function for general hash-based lookup focused on simplicity and performance.
    badge-jvm badge-js badge-nodejs badge-android badge-ios badge-watchos badge-tvos ![badge-macos][badge-macos] badge-windows badge-linux

Cipher

  • krypt - Cryptography library. Support for SecureRandom, Hash(MD5/SHA1/SHA256), AES.
    badge badge badge badge badge badge badge

  • kotlin-multiplatform-libsodium - A Kotlin Multiplatform wrapper for Libsodium cryptography library. badge badge badge badge badge badge badge badge badge

String Utils

  • FuzzyWuzzy-Kotlin - Fuzzy string matching on collections. Port of python & java library.

badge badge badge badge badge badge badge badge

  • kasechange - Multiplatform Kotlin library to convert strings between various case formats including Camel Case, Snake Case, Pascal Case and Kebab Case.
    badge badge badge badge badge badge badge badge badge badge

  • kotlin-multiplatform-diff - Multiplatform Kotlin library for calculating text differences.
    badge badge badge badge badge

  • doistx-normalize -- Kotlin Multiplatform library for string unicode normalization (UAX #15).
    badge badge badge badge badge badge badge badge badge

  • encoding - Base 16/32/64 encoding.
    badge badge badge badge badge badge badge badge badge badge

Input/Output

  • keyboard-mouse-kt - Multiplatform Kotlin library for interacting with global keyboard and mouse events and states.
    badge badge badge badge

Analytics

Atomic

  • AtomicFu - The idiomatic way to use atomic operations in Kotlin
    badge badge badge badge badge badge badge badge badge

UUID

  • uuid - Kotlin Multiplatform UUID
    badge badge badge badge badge badge badge

Paging

Kotlin/Native

  • Stately - The library is set of multithreaded collection classes that will allow multithreaded mutation in Kotlin/Native.
    badge badge badge badge badge badge

  • coroutineworker - Kotlin Coroutine-based workers for native
    badge badge badge badge

Units

  • Measured - Intuitive, type-safe units of measure.
    badge badge

Monads

  • Kotlin utilities - Scala utility types: Option, Either, Try for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge

  • kotlin-result - A Result monad for modelling success or failure operations.
    badge badge badge

Debug

Logging

  • Napier - Logging library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge

  • KmLogging - High performance, composable multiplatform logging.
    badge badge badge badge badge badge badge

  • klogger - Logging library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge

  • Multiplatform-Log - Logging library for Kotlin Multiplatform.
    badge badge

  • Kermit - Kotlin Multiplatform logging utility with composable log outputs and prebuilt loggers.
    badge badge badge badge badge badge badge

  • Log4k - Logging library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge

  • Cabret-Log - Method call logging for Kotlin Multiplatform
    badge badge badge badge badge

  • KmmAnkoLogger - fork of the AnkoLogger for use it with Kotlin Multiplatform Mobile
    badge badge badge

Test

  • Atrium - A multiplatform assertion library for Kotlin.
    badge badge badge

  • konform - Portable validations.
    badge badge

  • kotest-assertions - Multiplatform assertions and test utilities.
    badge badge badge badge badge badge badge badge badge

  • kotest-framework - Multiplatform test framework for Kotlin.
    badge badge

  • mockk - Mocking library for test.
    badge badge

  • Mockative - Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP)
    badge-jvm badge-js badge-android badge-ios ![badge-macos][badge-macos] badge-windows badge-linux

  • MocKMP - A Kotlin/Multiplatform Kotlin Symbol Processor that generates Mocks & Fakes.
    badge badge badge badge

  • kotlinx-resources - Multiplatform library for reading resources in tests.
    badge-jvm badge-js badge-nodejs badge-android badge-ios badge-watchos badge-tvos ![badge-macos][badge-macos] badge-windows badge-linux

Annotation Processor

  • MpApt - Kotlin Native/JS/JVM Annotation Processor library
    badge badge badge badge badge badge

  • kotlin-native-suspend-function-callback - Kotlin Multiplatform compiler plugin to generate a callback implementation for suspended functions so they are visible from Kotlin Native
    badge badge badge

GUI

  • moko-widgets - Declarative UI and screens management in common code for mobile (android & ios) Kotlin Multiplatform development
    badge badge

  • kgl - This library provides a thin OOP wrapper with DSLs to make programming with vulkan easier.
    badge badge badge badge badge

  • kotlin-libui - Kotlin/Native interop to libui: a portable GUI library
    badge badge badge

  • kotlin-material-ui - Kotlin Wrapper Library of Material-UI
    badge

  • muirwik - Kotlin Wrapper Library of Material-UI
    badge

  • compose-macos-theme - Multiplatform MacOS theme written in Compose UI
    badge badge

Command Line Interface

  • Clikt - Multiplatform command line interface parsing for Kotlin
    badge badge badge badge badge

  • Command_Parser - Multiplatform command parser using kotlinx.coroutines
    badge badge badge badge

Firebase

  • Firebase Kotlin SDK - Firebase SDK for Kotlin Multiplatform projects (Firebase Authentication, Realtime Database, Cloud Firestore, Cloud Functions, Cloud Messaging and Cloud Storage).
    badge badge badge

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. badge badge badge badge badge badge badge

  • oolong - MVU for Kotlin Multiplatform

  • moko-mvvm - MVVM architecture components for mobile multiplatform with LiveData (iOS and Android)
    badge badge

  • MVIKotlin - MVI framework for Kotlin Multiplatform.
    badge badge badge badge badge badge badge

  • Orbit MVI - MVI framework for Kotlin Multiplatform.
    badge badge

  • ReduxKotlin - Redux implementation for Kotlin (supports multiplatform JVM, native, JS, WASM)
    badge badge badge badge badge badge badge badge

  • ReKamp - Port of ReKotlin to Kotlin Multiplatform, which corresponds to ReKotlin/1.0.4.
    badge badge badge

  • Kaskade - Simplifying UI state management in Kotlin Multiplatform.
    badge badge badge badge

  • 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.
    badge badge badge badge badge badge badge badge badge

  • Premo — Presentation Model (aka View Model) and Navigation. Focus on writing logic instead of solving common and boring UI related issues: lifecycle, persistence, navigation, etc.
    badge badge badge badge

Project templates

  • moko-template - Template project of a Mobile (Android & iOS) Kotlin MultiPlatform project with the MOKO libraries and modularized architecture
    badge badge

Docs

Build & Development Tools

Artificial Intelligence

Symbolic AI

  • 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.
    badge badge badge

Social

tgbotapi

  • tgbotapi - Strongly-typed API wrapper for Telegram Bot API with fully covered API and a lot of additional DSLs on top of base API.

badge badgebadge

Contribute

Welcome contribute! Please read the contribution guidelines first.