Skip to content

Releases: terrakok/kmp-awesome

Issue 12

18 Dec 13:29
83c3187
Compare
Choose a tag to compare

New Awesome Resources

🗄 Compose Material 3 Gallery

New Awesome Tooling

Amper new experimental way for project configuration GitHub Repo stars

Improving developer experience while configuring project setup. Kotlin multiplatform support is out-of-the-box. Project now has experimental status.

New Awesome Libraries

Kotbase - NoSQL JSON document database GitHub Repo stars Maven Central

Kotlin Multiplatform library for Couchbase Lite—a lightweight, embedded, NoSQL JSON document database—supporting SQL++, key/value, and full-text search queries; observability; binary attachments; and data sync.

kotlin-cacheable - Annotation-based caching library GitHub Repo stars Maven Central

Kotlin Cacheable is an annotation-based caching library for Kotlin Multiplatform.

KMPNotifier - Firebase Push Notification library for iOS and Android GitHub Repo stars Maven Central

Kotlin Multiplatform Push Notification Library using Firebase for iOS and Android.

KStateMachine - Multiplatform state machine library with coroutines support GitHub Repo stars Maven Central

KStateMachine is a Kotlin DSL library for creating state machines and statecharts.

Sandwich - Handling API responses and exceptions in Kotlin for Retrofit, Ktor, Ktorfit GitHub Repo stars Maven Central

Sandwich is an adaptable and lightweight sealed API library designed for handling API responses and exceptions in Kotlin for Retrofit, Ktor, and Kotlin Multiplatform.

Ksoup - HTML & XML Parser (Jsoup Alternative) GitHub Repo stars Maven Central

Ksoup: A Kotlin Multiplatform port of the renowned Java library, jsoup. Designed to scrape, parse, manipulate, and clean HTML and XML documents with ease and efficiency.

Reveal Reveal effect for Compose Multiplatform GitHub Repo stars Maven Central

A reveal effect (coach mark, tutorial, onboarding) for Compose Multiplatform (Android, iOS, desktop, Web)

KMP-ComposeUIViewController KMP-ComposeUIViewController. GitHub Repo stars Maven Central

KSP library for generating ComposeUIViewController and UIViewControllerRepresentable files when using Compose Multiplatform for iOS.

KodeView KodeView GitHub Repo stars Maven Central

Kotlin Multiplatform syntax highlighting views.

QRose - Multiplatform QR code generator GitHub Repo stars Maven Central

Styled QR code generation library for Compose Multiplatform.

ZoomImage - Multiplatform Image Zoom Component GitHub Repo stars Maven Central

Library for zoom images, supported scale, pan, locate, rotation, and super-large image subsampling

rebugger - A recomposition debugger GitHub Repo stars jitpack.io

A simple Compose library to print the reason for recomposition in your Logcat window.

Compose WebView Multiplatform WebView for Compose Multiplatform GitHub Repo stars Maven Central

A WebView library that offers essential WebView features for Compose Multiplatform. It supports loading URLs and HTML data, evaluating JavaScript, and managing cookies. Currently, it is available for Android, iOS, and Desktop platforms.

ZoomImage Library for zoom images GitHub Repo stars Maven Central

Library for zoom images, supported Android View, Compose and Compose Multiplatform; supported double-click zoom, One or two fingers gesture zoom, single-finger drag, inertial sliding, positioning, rotation, super-large image subsampling and other functions.

peekaboo - Image Picker Library for Compose Multiplatform GitHub Repo stars Maven Central

Kotlin Multiplatform library for Compose Multiplatform, designed for seamless integration of an image picker feature in iOS and Android applications.

FlexibleBottomSheet - Flexible BottomSheet library Compose Multiplatform GitHub Repo stars Maven Central

Advanced Compose Multiplatform bottom sheet for segmented sizing and non-modal type, similar to Google Maps.

orbitral - Dynamic animation library for Compose Multiplatform GitHub Repo stars Maven Central

Jetpack Compose animation library that allows you to implement animations such as shared element transition.

compose-stable-marker - Compose stable markers for KMP to tell stable/immutable guarantees GitHub Repo stars [![Maven Central](https://img.shields.io/maven-central/v/com.github.skydoves/compose-stable-marker.svg?label=Ma...

Read more

Issue 11

18 Sep 11:38
a4eb9e1
Compare
Choose a tag to compare

New gradle plugins!

SKIE gradle plugin GitHub Repo stars

A Swift-friendly API Generator for Kotlin Multiplatform.

AboutLibraries gradle plugin GitHub Repo stars

Collects all dependencies and licenses of gradle projects (Kotlin Multiplatform) and provides an easy to integrate Attribution / Open Source library UI to integrate in Compose / Android targets.

New awesome libraries!

Universal-Cache - Kotlin caching and request sharing GitHub Repo stars Maven Central

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

FlowMVI - Plugin-based MVI framework GitHub Repo stars Maven Central

FlowMVI is a KMP MVI library based on coroutines with a rich DSL and a powerful plugin system.

Meteor - MVI framework with CommonViewModel, CommonStateFlow, UseCase GitHub Repo stars Maven Central

MVI/Redux framework for Kotlin Multiplatform

trckr - KSP processor GitHub Repo stars Maven Central

KSP processer that simplifies the collection of analytics

Assertk - Fluent assertions library GitHub Repo stars Maven Central

Fluent assertions library for Kotlin with full Multiplatform support.

ApiResult - Declarative Error Handling GitHub Repo stars Maven Central

ApiResult is a Kotlin Multiplatform declarative error handling framework that is performant, easy to use and feature-rich.

tomlkt - Multiplatform TOML encoder and decoder, powered by kotlinx.serialization GitHub Repo stars Maven Central

Lightweight and easy to use kotlinx.serialization plugin for TOML serialization and deserialization.

Appyx Navigation, transition animations, gestures, UI components. GitHub Repo stars Maven Central

Model-driven navigation + UI components with gesture control for Compose Multiplatform

Calf Compose Adaptive Look & Feel GitHub Repo stars Maven Central

Calf is a library that allows you to easily create adaptive UIs for your Compose Multiplatform apps.

MaterialKolor Generate Material3 color schemes from a seed color. GitHub Repo stars Maven Central

Compose multiplatform library for generating dynamic Material3 color schemes from a seed color.

AAY-chart Compose Multiplatform chart library. GitHub Repo stars Maven Central

The library contains several chart composables for usage in Kotlin Multiplatform projects and Android Native. Currently supported platforms are Desktop Android and IOS

kmPalette A port of Androidx Palette, generate palettes from image. GitHub Repo stars Maven Central

A Compose Multiplatform library for generating color palettes from images, including the dominant color.

XMP Core for Kotlin Multiplatform - Kotlin Multiplatform port of Adobe's XMP SDK GitHub Repo stars Maven Central

Kotlin Multiplatform library for reading and writing XMP (Extensible Metadata Platform) files

Highlights - Kotlin Multiplatform syntax highlighting engine GitHub Repo stars Maven Central

Kotlin Multiplatform library for analyzing and coloring syntax of code string

BlahBlah - Blah-Blah generates fake data for robust testing and development GitHub Repo stars Maven Central

Blah-Blah generates fake data for robust testing and development

KMPUtils - Kotlin STL Extensions & Utils GitHub Repo stars Maven Central

KMPUtils is a collection of everything missing from the Kotlin Multiplatform Standard Library.

RSSParser - A Kotlin Multiplatform library to parse a RSS Feed GitHub Repo stars Maven Central

RSS Parser is a Kotlin Multiplatform library for parsing RSS and Atom feeds. It supports Android, iOS, and the JVM.

Issue 10

29 Jun 13:20
02a9c87
Compare
Choose a tag to compare

New useful links!

🍏 Compose Multiplatform Wizard
🗄 Jetpack Compose Components

New awesome libraries!

Koject - KSP DI framework GitHub Repo stars Maven Central

Koject is a DI Container Library for Kolin Multiplatform using KSP.

Decompose-Router - navigation GitHub Repo stars Maven Central

A Compose-multiplatform navigation library that leverage Decompose to create an API inspired by Conductor

kmp-viewmodel - Kotlin Multiplatform ViewModel GitHub Repo stars Maven Central

A Kotlin Multiplatform library that provides shared MVVM. Supports Android Parcelable, Kotlin Parcelize, AndroidX SavedStateHandle for restoring state after process death.

NSExceptionKt - Better crash reports on Apple platforms GitHub Repo stars Maven Central

Unhandled Kotlin exceptions logging for Apple platforms.

Cryptography-Kotlin - Type-safe Multiplatform cryptography library for Kotlin GitHub Repo stars Maven Central

The library doesn’t implement any cryptography algorithm on its own, but wraps well-known future-proof solutions like OpenSSL 3.x, WebCrypto or JCA with type-safe multiplatform API providing uniform experience with aligned default behavior, and same expected results using identical parameters while allowing to use platform-specific capabilities.

Ksoup - Kotlin Multiplatform HTML Parser GitHub Repo stars Maven Central

Ksoup is a lightweight Kotlin Multiplatform library for parsing HTML, extracting HTML tags, attributes, and text, and encoding and decoding HTML entities.

Kronos Multiplatform - Network Time Protocol (NTP) client GitHub Repo stars Maven Central

Kotlin Multiplatform library for network time synchronization. Extension for Kotlinx DateTime library.

FlowExt - Kotlinx Coroutines Flow Extensions GitHub Repo stars Maven Central

A Kotlin Multiplatform library, that provides many operators and extensions to Kotlin Coroutines Flow.

InsetsX WindowInsets GitHub Repo stars Maven Central

InsetsX provides a WindowInsets utility for Compose Multiplatform.

Window Size Class Window Size Class GitHub Repo stars Maven Central

Compose Multiplatform: Material 3 Window Size Class

Kamel Compose Multiplatform image loading. GitHub Repo stars Maven Central

An asynchronous media loading library for Compose Multiplatform.

Compose Icons Open Source icon packs for Compose Multiplatform. GitHub Repo stars Maven Central

Compose Multiplatform icons is a pack of libraries that provide well known Icon Packs. The library usage is inspired by Compose Material Icons.

Compose Rich Editor Provides Rich Editor component for Compose Multiplatform. GitHub Repo stars Maven Central

A Rich text editor library for both Jetpack Compose and Compose Multiplatform, fully customizable and supports the common rich text editor features.

Drag Select Compose Google Photos style drag-to-select multi-selection. GitHub Repo stars Maven Central

Compose Multiplatform library that allows you to easily implement a "Google Photos"-style multi-selection in
your Compose apps.

Kim - Kotlin Image Metadata GitHub Repo stars Maven Central

Kotlin Multiplatform library for reading and writing image metadata

Issue 9

21 Mar 09:24
92540f5
Compare
Choose a tag to compare

New section with Compose libraries!

🍎 Compose UI

Voyager Compose Navigation. GitHub Repo stars Maven Central

A multiplatform navigation library built for, and seamlessly integrated with, Jetpack Compose.

Libres-Compose Resources generation in Kotlin Multiplatform GitHub Repo stars Maven Central

This artifact provides painterResource function that can be used to get Painter from io.github.skeptick.libres.Image in common code.

Compose-Imageloader Compose Image library for Kotlin Multiplatform. GitHub Repo stars Maven Central

Compose Image library for Kotlin Multiplatform.

Material Theme Preferences Switching Dark/Light Material themes. GitHub Repo stars Maven Central

Kotlin Multiplatform library for easy switching Dark/Light Material themes on Compose.

New awesome gradle plugins

Libres gradle plugin GitHub Repo stars

String/Image resources generation in Kotlin Multiplatform.

Swift Klib gradle plugin GitHub Repo stars

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.

parcelize-darwin gradle plugin GitHub Repo stars

Kotlin/Native compiler plugin that generates Parcelable implementations for Darwin (Apple) targets. Allows writing Parcelable classes for all Darwin targets, similary to the Android's kotlin-parcelize plugin. Can be also used together with the kotlin-parcelize plugin to write Parcelable classes in the commonMain source set.

New awesome libraries and SDK

kotlin-inject - DI framework GitHub Repo stars Maven Central

A compile-time dependency injection library for kotlin.

Essenty/Lifecycle - lifecycle handling in the Kotlin Multiplatform common code GitHub Repo stars Maven Central

Essenty provides the Lifecycle API to help with lifecycle handling in the common code. It is very similar to Android Activity lifecycle.

KotlinCrypto/MACs - Message Authentication Code algorithms for Kotlin Multiplatform GitHub Repo stars Maven Central

Message Authentication Code algorithms for Kotlin Multiplatform: HmacMD5, HmacSHA1, HmacSHA224, HmacSHA256, HmacSHA384, HmacSHA512, HmacSHA512/224, HmacSHA512/256

KotlinCrypto/hash - Cryptographic hash functions for Kotlin Multiplatform GitHub Repo stars Maven Central

Cryptographic hash functions for Kotlin Multiplatform: MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256

KotlinCrypto/secure-random - cryptographically secure random data from system sources GitHub Repo stars Maven Central

Kotlin Multiplatform library for obtaining cryptographically secure random data from the system. Modeled after Java's SecureRandom class, it provides a simple API surface area. Under the hood it utilizes system functions so that SecureRandom is accessible from common code.

Essenty/Parcelable - @Parcelize annotation for Kotlin Multiplatform GitHub Repo stars Maven Central

Essenty brings both Android Parcelable interface and the @Parcelize annotation from kotlin-parcelize compiler plugin to Kotlin Multiplatform, so they both can be used in common code.

openai-kotlin - OpenAI SDK GitHub Repo stars Maven Central

Kotlin client for OpenAI's API with multiplatform and coroutines capabilities.

Sentry SDK - Sentry Kotlin Multiplatform SDK GitHub Repo stars Maven Central

This project is an experimental SDK for Kotlin Multiplatform. This SDK is a wrapper around different platforms such as JVM, Android, iOS, macOS, watchOS, tvOS that can be used on Kotlin Multiplatform.

Issue 8

04 Jan 15:04
Compare
Choose a tag to compare

New awesome libraries and SDK

kmp-xlog - logger GitHub Repo stars Maven Central

KMP wrapper for tencent mars xlog.

Store 5 - Kotlin Library for Async Data Loading and Caching GitHub Repo stars Maven Central

A Store is responsible for managing a particular data request. When you create an implementation of a Store, you provide it with a Fetcher, a function that defines how data will be fetched over network. You can also define how your Store will cache data in-memory and on-disk.

Flower - Flower simplifies networking and database caching on Android/Multiplatform. GitHub Repo stars Maven Central

Flower is a Kotlin multi-platform library that makes networking and database caching easy. It enables developers to fetch network resources and use them as is OR combine them with local database at single place with fault-tolerant architecture.

SQLlin - Low-level API for SQLite in Kotlin Multiplatform GitHub Repo stars Maven Central

SQLlin is a Kotlin Multiplatform SQLite library that based on DSL and KSP. You can write SQL statements with your Kotlin code and these can be verified by Kotlin compiler.

KMM-ViewModel - KMM ViewModels GitHub Repo stars Maven Central

A library that allows you to share ViewModels between Android and iOS.

Ballast - State Management framework GitHub Repo stars Maven Central

Opinionated Application State Management framework for Kotlin Multiplatform

Diglol Crypto - Diglol Crypto for Kotlin Multiplatform. GitHub Repo stars Maven Central

Lots of crypto algorithms for Kotlin Multiplatform.

XmlUtil - Component of the XMLUtil library GitHub Repo stars Maven Central

XmlUtil is a set of packages that supports multiplatform XML in Kotlin.

Sentry SDK - Sentry Kotlin Multiplatform SDK GitHub Repo stars

This project is an experimental SDK for Kotlin Multiplatform. This SDK is a wrapper around different platforms such as JVM, Android, iOS, macOS, watchOS, tvOS that can be used on Kotlin Multiplatform.

ConfigCat - Kotlin Multiplatform SDK for ConfigCat GitHub Repo stars Maven Central

Kotlin Multiplatform SDK for ConfigCat, a feature flag, feature toggle, and configuration management service. That lets you launch new features and change your software configuration remotely without actually (re)deploying code. ConfigCat even helps you do controlled roll-outs like canary releases and blue-green deployments.

Uri KMP - A library for working with URIs in Kotlin Multiplatform GitHub Repo stars Maven Central

A library for working with URIs in Kotlin Multiplatform

Diglol Encoding - Common encodings for Kotlin Multiplatform. GitHub Repo stars Maven Central

Diglol Encoding provides Hex/Base16, Base32, Base64 encodings for Kotlin Multiplatform.

Diglol Id - A global Id generator for Kotlin Multiplatform. GitHub Repo stars Maven Central

A global Id generator for Kotlin Multiplatform. It modifies the timestamp to 5 bytes based on Xid.

Issue 7

08 Dec 08:50
7a400bc
Compare
Choose a tag to compare

New awesome book

📚 Simplifying Application Development with Kotlin Multiplatform Mobile

New awesome libraries and SDK

KStore - File-based object storage GitHub Repo stars Maven Central

A Kotlin multiplatform library that assists in saving and restoring objects to and from disk

Kotlin Bloc - UI framework for Kotlin Multiplatform GitHub Repo stars Maven Central

Kotlin Bloc is a simple, predictable and composable UI framework for Kotlin Multiplatform supporting Android, iOS and JVM.

Analytics - analytics facade GitHub Repo stars Maven Central

Kotlin Multiplatform library as a simple facade or abstraction for analytics.

zipline - Run Kotlin/JS libraries in Kotlin/JVM and Kotlin/Native programs GitHub Repo stars Maven Central

Zipline works by embedding the QuickJS JavaScript engine in your Kotlin/JVM or Kotlin/Native program. It's a small and fast JavaScript engine that's well-suited to embedding in applications.

Issue 6

18 Nov 08:38
c5e579e
Compare
Choose a tag to compare

New awesome tools

🛠 gradle-buildconfig-plugin gradle plugin

A plugin for generating BuildConstants for any kind of Gradle projects: Java, Kotlin, Groovy, etc. Designed for KTS scripts.

🛠 KDoctor command-line tool

KDoctor is a command-line tool that helps to set up the environment for Kotlin Multiplatform Mobile app development. It ensures that all required components are properly installed and ready for use. If something is missed or not configured Kdoctor highlights the problem and suggests how to fix the problem.

New awesome libraries and SDK

Ktorfit - Retrofit for Kotlin Multiplatform on KTS GitHub Repo stars Maven Central

HTTP client / Kotlin Symbol Processor for Kotlin Multiplatform (Android,Js, Jvm , Native, iOS) using KSP and Ktor clients inspired by Retrofit https://foso.github.io/Ktorfit

VisualFSM - FSM-based MVI framework GitHub Repo stars MavenCentral

VisualFSM is a Kotlin Multiplatform library for implements an FSM-based (Finite-state machine) MVI pattern and a set of tools for visualization and analysis of FSM's diagram of states.

multiplatform-paging - Pagination library for KMM by Cash App GitHub Repo stars Maven Central

A Kotlin Multiplatform library for pagination with the same API as AndroidX Paging

Turbine - test library GitHub Repo stars Maven Central

A small testing library for kotlinx.coroutines Flow

Kontrol - Debug menu GitHub Repo stars Maven Central

Kotlin Multiplatform library for creating a debugging menu.

Issue 5

21 Mar 10:26
6d17377
Compare
Choose a tag to compare

New awesome link

📚 KMM Book

New awesome tools

🛠 Swift Package integration
🛠 Carthage integration

New awesome libraries and SDK

CoRed - Opinionated Redux-like implementation GitHub Repo stars Maven Central

CoRed is Redux-like implementation that maintains the benefits of Redux's core idea without the boilerplate. No more action types, action creators, switch statements or complicated setup. It is Kotlin and it has coroutine supported right out-of-the-box.

Kotlin Object Notation - Lightweight DSL to build fluid JSON trees GitHub Repo stars Maven Central

Kotlin Object Notation - Lightweight DSL to build fluid JSON trees

Growth Book SDK - GrowthBook Kotlin SDK GitHub Repo stars Maven Central

GrowthBook is an open-source platform for feature flagging and a/b testing built for data teams, engineers, and product managers. It's great whether you're looking to just analyze experiment results or looking to make it easier to deploy code.

ByteBuffer - Kotlin Multiplatform bytebuffer/byte[] wrapper GitHub Repo stars Maven Central

A kotlin multiplatform library that allows you to allocate and modify byte[] natively using an API similar to Java's ByteBuffer API.

Kase64 - Base64 encoder/decoder GitHub Repo stars Maven Central

Base64 encoder/decoder for Kotlin/Multiplatform. Supports Android, iOS, JavaScript and plain JVM environments.

Issue 4

02 Feb 16:21
d293340
Compare
Choose a tag to compare

New awesome libraries! 🥳

Kontrol - Debug menu GitHub Repo stars Maven Central

Orbit MVI - MVI framework GitHub Repo stars Maven Central

Flywheel - Redux for Kotlin Multiplatform GitHub Repo stars Maven Central

MocKMP - Mocking with KSP GitHub Repo stars Maven Central

KLIP - Snapshot ((c|k)lip) manager for tests. GitHub Repo stars Maven Central

kotlin-semver - Semantic versioning GitHub Repo stars Maven Central

Issue 3

05 Jan 13:30
1c639ef
Compare
Choose a tag to compare

New section: Resources

🛢 Resources

Web wizard

🚀 Web Wizard

New libraries!

DI.kt - DI for kotlin multiplatform
Mockative - Mocking with KSP
Micro-Mock - Mocking with KSP
murmurhash - library for hashing using MurmurHash
Kotlinx-Resources - text resources manager