explaingit

jetbrains/compose-multiplatform

19,050KotlinAudience · developerComplexity · 3/5Setup · moderate

TLDR

A Kotlin UI framework from JetBrains that lets you write one app interface and share it across Android, iOS, desktop, and web without rebuilding a separate UI for each platform.

Mindmap

mindmap
  root((Compose Multiplatform))
    What it does
      Shared UI code
      Cross-platform apps
      Declarative design
    Tech stack
      Kotlin
      Jetpack Compose
      WebAssembly
    Platforms
      Android
      iOS
      Desktop
      Web
    Audience
      Kotlin developers
      Mobile developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build an Android app and reuse the same UI code for a Windows and macOS desktop version without rewriting it

USE CASE 2

Ship a single Kotlin codebase to iOS and Android with a shared interface and native device camera access

USE CASE 3

Deploy a Kotlin app to the browser via WebAssembly without rewriting the interface in JavaScript

Tech stack

KotlinJetpack ComposeWebAssembly

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Kotlin and JetBrains tooling, web target via Kotlin Wasm is in Beta and may have incomplete feature support.

In plain English

Compose Multiplatform is a UI framework made by JetBrains that lets you write the visual design of an app once in Kotlin and share it across Android, iOS, desktop (Windows, macOS, Linux), and web, instead of building a separate interface for each platform. It is based on Jetpack Compose, the modern UI toolkit Google uses for Android apps. You describe what the screen should look like using declarative code (meaning you describe the desired result, not a sequence of steps), and the framework handles the rendering. Because the same UI code runs on multiple targets, you reduce duplication and keep your app's look consistent everywhere. For mobile, it can access native platform APIs like the device camera. For desktop, it renders with hardware-accelerated graphics and supports menus, keyboard shortcuts, and system notifications. Web support (via Kotlin/Wasm, a format that runs near-native-speed code in browsers) is in Beta. You would use Compose Multiplatform if you are a Kotlin developer building an app that needs to run on more than one platform and you want to avoid writing and maintaining completely separate UIs. It requires Kotlin as the programming language and works well with JetBrains tools.

Copy-paste prompts

Prompt 1
Create a Compose Multiplatform project that shares a login screen across Android and iOS with native look
Prompt 2
How do I access the device camera in a Compose Multiplatform mobile app using the native platform API?
Prompt 3
Set up a Compose Multiplatform desktop app with a native menu bar, keyboard shortcuts, and system tray support
Prompt 4
Convert my existing Jetpack Compose Android app to a Compose Multiplatform project that also runs on desktop
Open on GitHub → Explain another repo

← jetbrains on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.