Releases: terrakok/kmp-awesome
Issue 12
New Awesome Resources
New Awesome Tooling
Amper new experimental way for project configuration
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
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
Kotlin Cacheable is an annotation-based caching library for Kotlin Multiplatform.
KMPNotifier - Firebase Push Notification library for iOS and Android
Kotlin Multiplatform Push Notification Library using Firebase for iOS and Android.
KStateMachine - Multiplatform state machine library with coroutines support
KStateMachine is a Kotlin DSL library for creating state machines and statecharts.
Sandwich - Handling API responses and exceptions in Kotlin for Retrofit, Ktor, Ktorfit
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)
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
A reveal effect (coach mark, tutorial, onboarding) for Compose Multiplatform (Android, iOS, desktop, Web)
KMP-ComposeUIViewController KMP-ComposeUIViewController.
KSP library for generating ComposeUIViewController and UIViewControllerRepresentable files when using Compose Multiplatform for iOS.
KodeView KodeView
Kotlin Multiplatform syntax highlighting views.
QRose - Multiplatform QR code generator
Styled QR code generation library for Compose Multiplatform.
ZoomImage - Multiplatform Image Zoom Component
Library for zoom images, supported scale, pan, locate, rotation, and super-large image subsampling
rebugger - A recomposition debugger
A simple Compose library to print the reason for recomposition in your
Logcat
window.
Compose WebView Multiplatform WebView for Compose Multiplatform
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
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
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
Advanced Compose Multiplatform bottom sheet for segmented sizing and non-modal type, similar to Google Maps.
orbitral - Dynamic animation library for Compose Multiplatform
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 [![Maven Central](https://img.shields.io/maven-central/v/com.github.skydoves/compose-stable-marker.svg?label=Ma...
Issue 11
New gradle plugins!
SKIE gradle plugin
A Swift-friendly API Generator for Kotlin Multiplatform.
AboutLibraries gradle plugin
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
Kotlin Flow caching and request sharing. Main idea: don't request data more times than it's needed.
FlowMVI - Plugin-based MVI framework
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
MVI/Redux framework for Kotlin Multiplatform
trckr - KSP processor
KSP processer that simplifies the collection of analytics
Assertk - Fluent assertions library
Fluent assertions library for Kotlin with full Multiplatform support.
ApiResult - Declarative Error Handling
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
Lightweight and easy to use kotlinx.serialization plugin for TOML serialization and deserialization.
Appyx Navigation, transition animations, gestures, UI components.
Model-driven navigation + UI components with gesture control for Compose Multiplatform
Calf Compose Adaptive Look & Feel
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.
Compose multiplatform library for generating dynamic Material3 color schemes from a seed color.
AAY-chart Compose Multiplatform chart library.
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.
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
Kotlin Multiplatform library for reading and writing XMP (Extensible Metadata Platform) files
Highlights - Kotlin Multiplatform syntax highlighting engine
Kotlin Multiplatform library for analyzing and coloring syntax of code string
BlahBlah - Blah-Blah generates fake data for robust testing and development
Blah-Blah generates fake data for robust testing and development
KMPUtils - Kotlin STL Extensions & Utils
KMPUtils is a collection of everything missing from the Kotlin Multiplatform Standard Library.
RSSParser - A Kotlin Multiplatform library to parse a RSS Feed
RSS Parser is a Kotlin Multiplatform library for parsing RSS and Atom feeds. It supports Android, iOS, and the JVM.
Issue 10
New useful links!
🍏 Compose Multiplatform Wizard
🗄 Jetpack Compose Components
New awesome libraries!
Koject - KSP DI framework
Koject is a DI Container Library for Kolin Multiplatform using KSP.
Decompose-Router - navigation
A Compose-multiplatform navigation library that leverage Decompose to create an API inspired by Conductor
kmp-viewmodel - Kotlin Multiplatform ViewModel
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
Unhandled Kotlin exceptions logging for Apple platforms.
Cryptography-Kotlin - Type-safe Multiplatform cryptography library for Kotlin
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
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
Kotlin Multiplatform library for network time synchronization. Extension for Kotlinx DateTime library.
FlowExt - Kotlinx Coroutines Flow Extensions
A Kotlin Multiplatform library, that provides many operators and extensions to Kotlin Coroutines Flow.
InsetsX WindowInsets
InsetsX provides a WindowInsets utility for Compose Multiplatform.
Window Size Class Window Size Class
Compose Multiplatform: Material 3 Window Size Class
Kamel Compose Multiplatform image loading.
An asynchronous media loading library for Compose Multiplatform.
Compose Icons Open Source icon packs for Compose Multiplatform.
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.
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.
Compose Multiplatform library that allows you to easily implement a "Google Photos"-style multi-selection in
your Compose apps.
Kim - Kotlin Image Metadata
Kotlin Multiplatform library for reading and writing image metadata
Issue 9
New section with Compose libraries!
🍎 Compose UI
Voyager Compose Navigation.
A multiplatform navigation library built for, and seamlessly integrated with, Jetpack Compose.
Libres-Compose Resources generation in Kotlin Multiplatform
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.
Compose Image library for Kotlin Multiplatform.
Material Theme Preferences Switching Dark/Light Material themes.
Kotlin Multiplatform library for easy switching Dark/Light Material themes on Compose.
New awesome gradle plugins
Libres gradle plugin
String/Image resources generation in Kotlin Multiplatform.
Swift Klib gradle plugin
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
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
A compile-time dependency injection library for kotlin.
Essenty/Lifecycle - lifecycle handling in the Kotlin Multiplatform common code
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
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
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
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
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
Kotlin client for OpenAI's API with multiplatform and coroutines capabilities.
Sentry SDK - Sentry Kotlin Multiplatform SDK
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
New awesome libraries and SDK
kmp-xlog - logger
KMP wrapper for tencent mars xlog.
Store 5 - Kotlin Library for Async Data Loading and Caching
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.
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
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
A library that allows you to share ViewModels between Android and iOS.
Ballast - State Management framework
Opinionated Application State Management framework for Kotlin Multiplatform
Diglol Crypto - Diglol Crypto for Kotlin Multiplatform.
Lots of crypto algorithms for Kotlin Multiplatform.
XmlUtil - Component of the XMLUtil library
XmlUtil is a set of packages that supports multiplatform XML in Kotlin.
Sentry SDK - Sentry Kotlin Multiplatform SDK
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
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
A library for working with URIs in Kotlin Multiplatform
Diglol Encoding - Common encodings for Kotlin Multiplatform.
Diglol Encoding provides Hex/Base16, Base32, Base64 encodings for Kotlin Multiplatform.
Diglol Id - A global Id generator for Kotlin Multiplatform.
A global Id generator for Kotlin Multiplatform. It modifies the timestamp to 5 bytes based on Xid.
Issue 7
New awesome book
📚 Simplifying Application Development with Kotlin Multiplatform Mobile
New awesome libraries and SDK
KStore - File-based object storage
A Kotlin multiplatform library that assists in saving and restoring objects to and from disk
Kotlin Bloc - UI framework for Kotlin Multiplatform
Kotlin Bloc is a simple, predictable and composable UI framework for Kotlin Multiplatform supporting Android, iOS and JVM.
Analytics - analytics facade
Kotlin Multiplatform library as a simple facade or abstraction for analytics.
zipline - Run Kotlin/JS libraries in Kotlin/JVM and Kotlin/Native programs
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
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
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
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
A Kotlin Multiplatform library for pagination with the same API as AndroidX Paging
Turbine - test library
A small testing library for kotlinx.coroutines Flow
Kontrol - Debug menu
Kotlin Multiplatform library for creating a debugging menu.
Issue 5
New awesome link
📚 KMM Book
New awesome tools
🛠 Swift Package integration
🛠 Carthage integration
New awesome libraries and SDK
CoRed - Opinionated Redux-like implementation
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
Kotlin Object Notation - Lightweight DSL to build fluid JSON trees
Growth Book SDK - GrowthBook Kotlin SDK
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
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
Base64 encoder/decoder for Kotlin/Multiplatform. Supports Android, iOS, JavaScript and plain JVM environments.
Issue 4
Issue 3
New section: Resources
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