# terrakok/kmp-awesome

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/terrakok-kmp-awesome).**

5,631 stars · 354 forks

## Links

- GitHub: https://github.com/terrakok/kmp-awesome
- awesome-repositories: https://awesome-repositories.com/repository/terrakok-kmp-awesome.md

## Topics

`android` `awesome` `compose` `compose-multiplatform` `ios` `jetbrains` `kmm` `kmp` `kotlin` `kotlin-multiplatform` `libraries` `tools`

## Description

KMP-Awesome is a curated directory and resource index for the Kotlin Multiplatform ecosystem. It serves as a centralized hub for developers to discover libraries, frameworks, and tools designed to streamline the creation of shared codebases for mobile, desktop, and web applications.

The project distinguishes itself by organizing a comprehensive collection of solutions that address the core challenges of cross-platform development. It highlights resources for implementing shared business logic, declarative user interface components, and type-safe data persistence layers. By providing a structured index of community-driven projects, it helps developers identify the necessary components for managing dependency injection, network communication, and asynchronous workflows across diverse operating systems.

Beyond its role as a directory, the repository covers a broad spectrum of technical capabilities required for multiplatform projects. This includes resources for handling local storage, managing application state, performing cryptographic operations, and integrating platform-specific device capabilities. The index also features tools for project configuration, testing, and monitoring to ensure consistent behavior and high code quality throughout the development lifecycle.

## Tags

### Repository Format

- [Awesome List](https://awesome-repositories.com/f/repository-format/awesome-list.md) — A community-curated directory that catalogs and links out to other open-source projects, rather than a standalone tool you run yourself.

### Part of an Awesome List

- [Kotlin Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/kotlin-libraries.md) — Provides a collection of essential libraries and extensions for the language.
- [Multiplatform Library Directories](https://awesome-repositories.com/f/awesome-lists/multiplatform-library-directories.md) — Serves as a centralized hub for discovering libraries and tools for cross-platform development. ([source](https://github.com/terrakok/kmp-awesome#readme))
- [Application Logic Architectures](https://awesome-repositories.com/f/awesome-lists/devtools/business-logic/application-logic-architectures.md) — Structures shared code using state management and navigation patterns for complex business logic. ([source](https://github.com/terrakok/kmp-awesome/blob/master/README.MD))
- [Image Loading](https://awesome-repositories.com/f/awesome-lists/media/image-loading.md) — Offers libraries for efficient fetching, caching, and rendering of remote or local image assets. ([source](https://terrakok.github.io/Compose-Multiplatform-Wizard/))

### Development Tools & Productivity

- [Library Discovery Tools](https://awesome-repositories.com/f/development-tools-productivity/library-discovery-tools.md) — Serves as a curated directory for searching and discovering libraries within the ecosystem.
- [Developer Ecosystems](https://awesome-repositories.com/f/development-tools-productivity/platforms-runtimes-language-services/developer-ecosystems.md) — Acts as a centralized repository facilitating interoperability between developer tools and community resources.
- [Asynchronous Task Processing](https://awesome-repositories.com/f/development-tools-productivity/asynchronous-task-processing.md) — Provides utilities for managing non-blocking operations and reactive data streams. ([source](https://github.com/terrakok/kmp-awesome/blob/master/README.MD))
- [Type Generators](https://awesome-repositories.com/f/development-tools-productivity/type-generators.md) — Transforms backend data definitions into strongly-typed models to prevent runtime errors.

### Software Engineering & Architecture

- [Multiplatform Code Sharing](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-development/multiplatform-code-sharing.md) — Offers architectural patterns for defining common logic shared across different platform-specific implementations.
- [Cross-Platform Architectures](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-architectures.md) — Provides design patterns and practices for ensuring software compatibility across multiple operating systems.
- [Cross-Platform Data Integration](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-data-integration.md) — Offers architectural patterns and libraries for maintaining consistent data handling logic across platforms.
- [Expectation-Based Compilers](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-development/multiplatform-code-sharing/expectation-based-compilers.md) — Resolves platform-specific implementations through shared interface contracts to ensure consistent behavior.
- [Dependency Injection](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/dependency-injection.md) — Provides mechanisms for managing object lifecycles and dependency resolution across shared and platform-specific codebases. ([source](https://terrakok.github.io/Compose-Multiplatform-Wizard/))
- [Asynchronous Concurrency Managers](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-execution-managers/asynchronous-concurrency-managers.md) — Manages non-blocking background tasks and data streams using a unified coroutine-based threading model.
- [Data Serialization Formats](https://awesome-repositories.com/f/software-engineering-architecture/data-serialization-formats.md) — Converts objects to and from standardized formats like JSON, XML, and Protocol Buffers for storage or transmission. ([source](https://github.com/terrakok/kmp-awesome/blob/master/README.MD))
- [Dependency Injection Containers](https://awesome-repositories.com/f/software-engineering-architecture/dependency-injection-containers.md) — Decouples business logic from platform-specific implementations using centralized dependency injection containers.
- [Asynchronous Task Managers](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-task-managers.md) — Coordinates concurrent background operations using a unified programming model for non-blocking execution. ([source](https://terrakok.github.io/kmp-web-wizard/))
- [Static Serialization Engines](https://awesome-repositories.com/f/software-engineering-architecture/data-serialization-formats/static-serialization-engines.md) — Provides reflection-free serialization engines for efficient cross-platform data exchange.

### Data & Databases

- [Relational Persistence Layers](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-layers/relational-persistence-layers.md) — Generates type-safe database access layers from SQL statements for reliable local storage management. ([source](https://terrakok.github.io/kmp-web-wizard/))
- [Type-Safe Database Clients](https://awesome-repositories.com/f/data-databases/type-safe-database-clients.md) — Provides type-safe database accessors generated from SQL queries to ensure reliable data storage.
- [Local Storage Solutions](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/client-side-persistence/local-storage-solutions.md) — Supports persistent data storage using key-value stores and relational databases with type-safe access. ([source](https://github.com/terrakok/kmp-awesome/blob/master/README.MD))
- [Key-Value Persistence Stores](https://awesome-repositories.com/f/data-databases/key-value-persistence-stores.md) — Enables saving and retrieving simple configuration or state values to local storage for quick access. ([source](https://terrakok.github.io/Compose-Multiplatform-Wizard/))
- [Screen State Managers](https://awesome-repositories.com/f/data-databases/persistent-application-state/screen-state-managers.md) — Maintains business logic and UI state for application screens to ensure data persists across navigation events. ([source](https://terrakok.github.io/Compose-Multiplatform-Wizard/))
- [Data Serialization Formats](https://awesome-repositories.com/f/data-databases/data-serialization-formats.md) — Provides libraries and protocols for encoding and serializing data structures for storage or network transport. ([source](https://terrakok.github.io/kmp-web-wizard/))
- [Date and Time Libraries](https://awesome-repositories.com/f/data-databases/date-and-time-libraries.md) — Offers utilities for calculating, formatting, and converting date and time values across different time zones. ([source](https://github.com/terrakok/kmp-awesome/blob/master/README.MD))

### User Interface & Experience

- [Declarative UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/declarative-frameworks/declarative-ui-frameworks.md) — Constructs user interfaces using shared declarative components that render consistently across native platforms.
- [Declarative UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/declarative-ui-frameworks.md) — Provides UI libraries that utilize declarative patterns for interface construction.
- [Cross-Platform Rendering](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-libraries/web-based-native-ui/cross-platform-rendering.md) — Supports rendering declarative user interfaces from a unified codebase across mobile and desktop platforms. ([source](https://terrakok.github.io/kmp-web-wizard/))
- [Navigation Frameworks](https://awesome-repositories.com/f/user-interface-experience/navigation-frameworks.md) — Manages application flow, deep linking, and screen transitions within declarative user interface frameworks. ([source](https://terrakok.github.io/Compose-Multiplatform-Wizard/))
- [User Interface Components](https://awesome-repositories.com/f/user-interface-experience/user-interface-components.md) — Provides reusable UI elements and layout patterns for building consistent interactive application interfaces. ([source](https://github.com/terrakok/kmp-awesome/blob/master/README.MD))

### Networking & Communication

- [Network Communication Implementations](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-communication-implementations.md) — Offers implementations for executing network communication tasks using standard protocols.
- [Request Execution](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-execution.md) — Executes network requests using standard protocols to synchronize applications with external data sources. ([source](https://github.com/terrakok/kmp-awesome/blob/master/README.MD))

### Web Development

- [Type-Safe API Clients](https://awesome-repositories.com/f/web-development/type-safe-api-clients.md) — Generates strongly-typed API clients from backend schemas to ensure data consistency. ([source](https://terrakok.github.io/Compose-Multiplatform-Wizard/))

### Testing & Quality Assurance

- [Unit Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/unit-testing-frameworks.md) — Provides frameworks for unit testing, mocking, and snapshot comparisons in multiplatform projects. ([source](https://github.com/terrakok/kmp-awesome/blob/master/README.MD))

### Mobile Development

- [Project Configuration](https://awesome-repositories.com/f/mobile-development/build-and-tooling/project-configuration.md) — Integrates build systems and development plugins to streamline cross-platform project configuration. ([source](https://github.com/terrakok/kmp-awesome/blob/master/README.MD))
