# JetBrains/compose-multiplatform

**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/jetbrains-compose-multiplatform).**

18,829 stars · 1,391 forks · Kotlin · apache-2.0

## Links

- GitHub: https://github.com/JetBrains/compose-multiplatform
- Homepage: https://jetbrains.com/lp/compose-multiplatform
- awesome-repositories: https://awesome-repositories.com/repository/jetbrains-compose-multiplatform.md

## Topics

`android` `awt` `compose` `declarative-ui` `desktop` `gui` `ios` `javascript` `kotlin` `multiplatform` `reactive` `swing` `ui` `wasm` `web` `webassembly`

## Description

Compose Multiplatform is a declarative user interface framework that enables the development of native graphical interfaces across desktop, mobile, and web platforms using a single Kotlin codebase. It functions as a multiplatform library that allows developers to share both application logic and UI components while maintaining access to platform-specific features through abstraction layers.

The framework utilizes a reactive state management system that automatically tracks data mutations to trigger granular interface updates. By employing a cross-platform rendering engine based on a hardware-accelerated graphics library, it maps declarative UI descriptions directly to native canvases, ensuring consistent visual output across diverse operating systems.

The project supports modern application architecture by facilitating the creation of modular, reactive software components. It integrates with standard development environments to provide tooling for code analysis, automated build pipelines, and collaborative project management.

## Tags

### User Interface & Experience

- [Declarative UI Toolkits](https://awesome-repositories.com/f/user-interface-experience/declarative-ui-toolkits.md) — Provides a declarative UI toolkit that synchronizes application state with rendered elements across desktop, mobile, and web platforms.
- [Cross-Platform UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/cross-platform-ui-frameworks.md) — Enables building native user interfaces for desktop, mobile, and web from a single declarative codebase.
- [Cross-Platform Rendering Frameworks](https://awesome-repositories.com/f/user-interface-experience/layout-utilities/presentation-engines/cross-platform-rendering-frameworks.md) — Maps declarative UI components to native platform drawing APIs for high-performance visual output.
- [Declarative UI Paradigms](https://awesome-repositories.com/f/user-interface-experience/declarative-ui-paradigms.md) — Supports creating interactive layouts by describing the desired interface state rather than managing manual updates.
- [Reactive State Managers](https://awesome-repositories.com/f/user-interface-experience/reactive-state-managers.md) — Implements a reactive state management system that automatically tracks data mutations to trigger granular interface updates.
- [Application State Managers](https://awesome-repositories.com/f/user-interface-experience/application-state-managers.md) — Manages application state by automatically tracking data mutations to trigger targeted interface updates.
- [Reactive State Systems](https://awesome-repositories.com/f/user-interface-experience/reactive-state-systems.md) — Monitors data reads and writes to trigger granular UI updates through a reactive state system.
- [State Reconciliation Strategies](https://awesome-repositories.com/f/user-interface-experience/state-reconciliation-strategies.md) — Implements efficient UI updates by reconciling state changes against the display tree.

### Software Engineering & Architecture

- [Multiplatform Code Sharing](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-development/multiplatform-code-sharing.md) — Shares application logic and UI components across operating systems while maintaining platform-specific API access.
- [Multiplatform UI Libraries](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-development/multiplatform-code-sharing/multiplatform-ui-libraries.md) — Enables the creation of consistent graphical interfaces across Android, iOS, desktop, and web using a unified Kotlin codebase.
- [Application Architectures](https://awesome-repositories.com/f/software-engineering-architecture/application-architectures.md) — Structures complex projects with reactive data flows and modular components for maintainability and scalability.
- [Compiler Optimizations](https://awesome-repositories.com/f/software-engineering-architecture/compiler-optimizations.md) — Transforms functional UI code into efficient imperative instructions to optimize state tracking and execution.
- [Platform Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/platform-abstraction-layers.md) — Provides unified interfaces for hardware and system services by delegating to native platform implementations.
- [Incremental Reconciliation](https://awesome-repositories.com/f/software-engineering-architecture/trees/incremental-reconciliation.md) — Updates user interfaces by comparing immutable state trees and applying only necessary changes.
- [Compile-Time Optimization Tools](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-optimization-tools.md) — Optimizes runtime performance by rewriting functional UI descriptions into imperative instructions during the build process.

### Graphics & Multimedia

- [Cross-Platform Graphics Tooling](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/cross-platform-graphics-tooling.md) — Uses a cross-platform graphics library to render UI components directly onto hardware-accelerated canvases.
- [Cross-Platform Rendering Layers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering/cross-platform-rendering-layers.md) — Maps declarative UI components to hardware-accelerated canvases for high-performance visual output across diverse operating systems.

### Development Tools & Productivity

- [Multi-Target Build Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/cross-platform-orchestrators/multi-target-build-orchestrators.md) — Orchestrates the compilation of shared source code into native binaries for diverse target platforms.
