Files
AndroidJetpack/Jetpack-Compose-Playground/docs/general/composeconfusion.md
T
2026-07-15 16:57:36 +08:00

37 lines
2.3 KiB
Markdown

# Compose Confusion
Because of similar naming of the Compose libraries, there is a some confusion between the different "variants" of Compose. Here is a quick overview that tries to give clarification:
## Compose Runtime
The [Compose Runtime](https://developer.android.com/jetpack/androidx/releases/compose-runtime) is a library for manipulating and managing trees of data.
This library can be used to manage UI tree nodes, but it's a general purpose library, so it can be used with any kind of data.
It is developed as a Kotlin Multiplatform Library, which means that it could be ported to every target that Kotlin Multiplatform supports.
Openly developed targets are Android, JVM and Web.
[Square](https://www.reddit.com/r/androiddev/comments/r77o7d/comment/hmyqbta/?utm_source=share&utm_medium=web2x&context=3
) is running an internal version of it on iOS.
This library contains basic things like @Composable, remember, mutableState, effects.
## Compose Compiler Plugin
The Compose Compiler Plugin is a Kotlin Compiler Plugin that transforms all the **@Composable** functions and adds the needed calls to the **Compose Runtime**
## Compose UI
[Compose UI](https://developer.android.com/jetpack/androidx/releases/compose-ui) is a set of UI libraries for Android using **Compose Runtime/Compose Compiler Plugin**
# Jetpack Compose
Jetpack Compose is a UI Toolkit for Android developed by Google.
It is using **Compose Runtime/Compose Compiler Plugin** and **Compose UI**
# Compose HTML
Compose HTML is a UI Toolkit for Web developed by JetBrains written in Kotlin/JS.
It is using the **Compose Runtime** and the **Compose Compiler Plugin**. It does not use Compose UI, because it uses Compose Wrappers for the HTML DOM UI Elements.
# Compose for Desktop
**Compose for Desktop** is a UI Toolkit developed by JetBrains. It runs on the JVM and it is using **Compose Runtime**, **Compose Compiler Plugin** and a Compose UI version for desktop which is using Skia to target Windows, macOS, Linux. Additional it provides components for desktop specific apps like scrollbars or mouse support and Swing interop.
# Compose Multiplatform
[Compose Multiplatform](https://www.jetbrains.com/lp/compose-mpp/) is a Kotlin multiplatform project which is developed by JetBrains.
It uses Jetpack Compose, Compose for Web and Compose for Desktop