Compose Multiplatform is a declarative UI framework developed by JetBrains and open-source contributors that enables developers to share user interface code across multiple platforms using Kotlin. Built on top of Jetpack Compose, Google's Android UI framework, it extends the same declarative programming model to iOS, Android, desktop operating systems, and web platforms. The framework is grounded in Kotlin Multiplatform, allowing developers to write once and deploy across Windows, macOS, Linux, iOS, Android, and web targets through WebAssembly.
The repository demonstrates significant community engagement and maintenance activity.
For iOS development, Compose Multiplatform allows developers to use the same APIs as Android while maintaining access to native iOS capabilities. Developers can integrate native APIs such as the Camera API and embed complex native UI views like MKMapView, leveraging Kotlin Multiplatform's interoperability features. The Android experience mirrors standard Jetpack Compose development, providing a seamless transition for Android developers already familiar with Google's declarative UI approach.
Desktop support targets the JVM with hardware-accelerated rendering across macOS, Windows, and Linux. The framework includes desktop-specific extensions for menus, keyboard shortcuts, window manipulation, and notification management, addressing the unique requirements of desktop applications. Web support is currently in Beta, built on Kotlin/Wasm to enable Kotlin code execution in browsers with WebAssembly's performance benefits. The project also includes Compose HTML, a library targeting Kotlin/JS that provides composable building blocks for web user interfaces using HTML and CSS, though this library operates independently from the multiplatform framework.
The repository's cross-platform nature is reflected in its topic tags, which include android, awt, compose, declarative-ui, desktop, gui, ios, javascript, kotlin, multiplatform, reactive, swing, ui, wasm, web, and webassembly. Community support is organized through dedicated Slack channels for compose-ios, compose-desktop, compose-web, and a general compose channel, with issue tracking handled through JetBrains YouTrack.