Giter Club home page Giter Club logo

awesome-kotlin-multiplatform's Introduction

Kotlin Multiplatform Libraries and Project

We are Rx-Mobile-Team (https://rx-mobile-team.github.io/profile/)

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

  • Ktorfit - HTTP client / Kotlin Symbol Processor for Kotlin Multiplatform (Js, Jvm, Android, Native, iOS) using KSP and Ktor clients inspired by Retrofit
    badge badge badge badge badge badge badge

  • fuel - The easiest HTTP networking library for Kotlin backed by Kotlinx Coroutines.
    badge badge

  • rsocket-kotlin - RSocket Kotlin multi-platform implementation based on kotlinx.coroutines and Ktor.
    badge badge badge badge badge badge badge badge badge

  • kotliny.network - Simple, powerful and lightweight Kotlin Multiplatform Network Client.
    badge badge badge 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

JSON-RPC

  • apollo -JSON-RPC Kotlin Multiplatform client.
    badge badge badge badge

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

  • Highlights - Kotlin Multiplatform syntax highlighting engine.
    badge badge badge badge badge badge badge badge

Authentication

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

Repository

  • Store - A Kotlin Multiplatform library for building network-resilient applications.
    badge badge badge badge

Serializer

  • kotlinx.serialization (official) - Kotlin multiplatform / multi-format serialization
    badge badge badge badge badge badge badge badge badge badge

  • YAKL - A YAML 1.2 processor
    badge badge

  • KoAP - CoAP encoder/decoder with support for UDP (RFC 7252), TCP (RFC 8323) and Observe (RFC 7641).
    badge badge

  • Pbandk - Kotlin code generator and runtime for Protocol Buffers
    badge badge badge badge badge badge

  • Kase64 - Base64 encoder/decoder for Kotlin/Multiplatform. Supports standard and URL-safe encodings.
    badge badge badge badge badge badge badge badge badge

  • Kex - Hex string encoder/decoder for Kotlin/Multiplatform.
    badge badge badge badge badge badge badge badge badge

  • Ktoml - MPP serialization library (decoder/encoder) for TOML format.
    badge badge badge badge badge badge badge badge badge

  • encoding - Rfc 4648 Section 4-8 compliant encoding (Base 16, 32 Crockford, 32 Default, 32 Hex, 64 Default, 64 Url Safe).
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

  • parcelize - Implement Android Parcelable from common code.
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

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

  • Door - Room for Kotlin Multiplatform.
    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

  • Couchbaselite - Kotlin Multiplatform wrapper for the Couchbase Lite Mobile Database.
    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

  • Kottage - Kotlin Multiplatform Key-Value Store Local Cache Storage for Single Source of Truth.
    badge badge badge badge badge badge badge badge badge

  • Universal-Cache - Kotlin Flow caching and request sharing. Main idea: don't request data more times than it's needed.
    badge badge badge

FILE

  • okio - A modern I/O library for Android, Java, and Kotlin Multiplatform.
    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

  • KStore - A tiny Kotlin multiplatform library that assists in saving and restoring objects to and from disk using kotlinx.coroutines, kotlinx.serialisation and okio.
    badge badge badge badge badge badge badge badge badge badge

File System

  • Kfswatch - Kotlin Multiplatform File System Watcher
    badge badge badge badge badge badge badge 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 badge badge badge badge badge badge badge

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

  • kotlin-inject - Dependency injection lib for kotlin.
    badge badge badge badge badge badge badge badge

  • Koject - DI Container library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge

Image

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

  • time - Type-safe time periods for the Kotlinx-datetime multiplatform date/time library
    badge 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

  • Kronos Multiplatform - Network Time Protocol (NTP) library
    badge badge 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

  • Multiplatform-Bus - Kotlin event-bus compatible with Android & native iOS.
    badge badge

  • Event4k - MultiPlatform Kotlin EventBus library - simple, bidirectional, concurrent.
    badge badge badge badge badge badge badge badge badge badge badge badge badge

Number

Hashing

  • kotlinx-murmurhash - Multiplatform library for MurmurHash, a non-cryptographic hash function for general hash-based lookup focused on simplicity and performance.
    badge badge badge badge badge badge badge ![badge][badge-macos] badge badge

Cryptography

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

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

  • KotlinCrypto/endians - Utils for converting Short, Int, Long to/from BigEndian and LittleEndian bytes.
    badge badge badge badge badge badge badge badge badge badge badge badge 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 multiplatform Result monad for modelling success or failure operations.
    badge badge badge badge badge badge badge badge badge

  • ApiResult - A monad for declarative & functional error-handling with a rich DSL.
    badge badge badge badge badge badge badge badge badge badge

  • Résultat - A fork of Kotlin Result with a loading state.
    badge badge badge badge badge badge badge badge

  • value-clazz - Functionally equivalent to a Kotlin value class that implements an interface, but inheritance based and compiles to platform code.
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

WebAssembly

  • ktmpwasm - A WebAssembly interpreter for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

Metadata

Parsing

  • RSS-Parser - A Kotlin Multiplatform library to parse a RSS Feed
    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

  • assertk - Assertions for kotlin inspired by assertj.
    badge badge badge badge badge badge badge badge badge

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

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

  • Truthish - Multiplatform library with a testing API inspired by Google Truth.
    badge badge badge badge badge badge badge

  • testmints - Lightweight test semantic-sugar, to improve readability.
    badge badge badge badge badge badge badge

  • jsmints - A suite of libraries and gradle plugins for working with Kotlin JS, with a focus on testing and version updating.
    badge

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

  • trckr - KSP processer that simplifies the collection of analytics
    badge badge badge badge badge badge badge badge

  • KMP-ComposeUIViewController - KSP library for generating ComposeUIViewController and UIViewControllerRepresentable files when using Compose Multiplatform for iOS
    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

  • componentbox - A Kotlin multiplatform library for building dynamic server-driven UI
    badge badge badge badge

  • kontrol - A Kotlin Multiplatform library for creating a debugging menu
    badge badge

  • koala-plot - A Compose Multiplatform based charting and plotting library written in Kotlin
    badge badge badge

  • Material Theme Preferences - Switching Dark/Light Material themes on Compose
    badge badge badge badge badge badge

  • DrawBox - The first multiplatform library to draw anything on canvas.
    badge badge badge badge

  • typist-cmp - A Highly Customisable Typing Animation Library for Compose Multiplatform (Android & iOS)
    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

  • Kotter - Multiplatform library for Kotlin command-line applications with support for text styling, animations, timers, and input.
    badge badge badge badge

  • Mordant - Multiplatform text styling for Kotlin command-line applications
    badge 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

  • FlowMVI - Plugin-based Kotlin Multiplatform MVI framework.
    badge badge 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

  • KStateMachine - KStateMachine is a Kotlin DSL library for creating state machines and hierarchical state machines (statecharts).
    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

  • multiplatform-viewmodel — Shared ViewModel in Kotlin Multiplatform
    badge badge badge badge badge

  • Direkt - Kotlin Multiplatform Router for Android, iOS, Js
    badge badge badge

  • compose_bloc - State Management and Navigation Library for Jetpack Compose and Compose Multiplatform.
    badge badge badge badge badge

  • Ballast - Opinionated Application State Management framework for Kotlin Multiplatform

  • Kotlin Bloc - A simple, predictable and composable UI framework for Kotlin Multiplatform
    badge badge badge

  • kmp-viewmodel - Shared ViewModel in Kotlin Multiplatform - A Kotlin Multiplatform library that provides shared MVVM for UI applications. Components are lifecycle-aware on Android.
    badge badge badge 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

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

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

Math

ViewModel

Contribute

Welcome contribute! Please read the contribution guidelines first.

awesome-kotlin-multiplatform's People

Contributors

hoangchungk53qx1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.