# A Jetpack Compose by any other name

DevFeed: [A Jetpack Compose by any other name](<https://devfeed.tech/articles/a-jetpack-compose-by-any-other-name-20909.md>)

Original publisher: [Read original article](<https://jakewharton.com/a-jetpack-compose-by-any-other-name/>)

Published: 2020-12-30T00:00:00Z

Content type: article

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [Declarative programming](<https://devfeed.tech/topics/declarative-programming.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [React](<https://devfeed.tech/topics/react.md>), [Svelte](<https://devfeed.tech/topics/svelte.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [compose](<https://devfeed.tech/tags/compose.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [programming](<https://devfeed.tech/tags/programming.md>), [react](<https://devfeed.tech/tags/react.md>), [svelte](<https://devfeed.tech/tags/svelte.md>), [ui](<https://devfeed.tech/tags/ui.md>)

## AI overview

The article examines what Jetpack Compose is, arguing that it should be understood as more than an Android UI toolkit. It describes its origins in declarative Android UI development and the unbundling of platform widgets, while discussing its Kotlin compiler-plugin and DSL foundations, multiplatform scope, and relationship to React and Svelte concepts.

## Source excerpt

I really like Jetpack Compose. Between work and personal stuff I have three projects which are each built on top of it. It's great! So far my biggest problem is its name... but that requires some explaining. Welcome to one of the hills I'll die on! What is Jetpack Compose? If you're already familiar with it, something should pop in your head when asked: What is Jetpack Compose? A new UI toolkit for Android? Yep, that's right. A declarative Android UI framework? Sure, that is correct. A multiplatform application UI? Thanks to JetBrains this is also true. If you're somewhat in tune to how the sausage is made you may also reference the fact that it's a Kotlin compiler plugin and DSL to build Android UI or multiplatform UI. It's those things, too. None of these answers are wrong. However, they're doing a bit of a disservice to the internals of Compose and its unrealized potential. Pedigree What we now know as Jetpack Compose started as two separate projects: The first was a solution for writing declarative Android UIs using the existing platform UI toolkit. Take the declarative components of React, wrap it in an ahead-of-time compiler like Svelte, and target Android's UI toolkit with Kotlin. All existing View-based UI could suddenly level-up by changing their programming paradigm from imperative to declarative. Separately, the toolkit team was about to ramp up on unbundling as many UI widgets as possible from the OS. This followed on the success of ViewPager, RecyclerView, and what was learned from the AppCompat and Design libraries. By removing a ton of OEM touchpoints and normalizing behavior across all versions of Android, the work required to build a good UI would be reduced. Over time these efforts became inescapably linked. If you are building standalone versions of the platform UI widgets then why not take the opportunity to correct mistakes in their API and overcome limitations of the resource system? And if you're changing their API, why not have the new declarat