[KongchangAI]
Concept

Remote Compose

Remote Compose is a remote UI rendering technology based on Jetpack Compose that separates UI definition from rendering. A content provider—such as an application or service—describes the UI structure and logic using Compose, while a consumer (such as a system surface or other host) performs native rendering. The technology is commonly used in cross-process UI scenarios such as Wear OS watch faces and Android widgets, enabling consistent visual presentation and interaction within the host environment.

Timeline (last 90 days)

Oct 30

Remote Compose is a brand-new UI framework that brings declarative APIs to remote UI scenarios, is highly aligned with Jetpack Compose, and brings modern graphics capabilities and responsive layouts to widgets.

Unverified50%
Oct 30

Remote Compose decouples the UI from the app process, and components are securely serialized and can be rendered on a wide range of Android devices.

Unverified50%
Oct 30

Remote Compose's API naming and interaction primitives: Box, Column and Text correspond to RemoteBox, RemoteColumn and RemoteText; Modifier and Boolean correspond to RemoteModifier and RemoteBoolean; and lambdas are replaced by actions.

Unverified50%
Oct 30

The reason Remote Compose replaces lambdas with actions: components cannot directly hold object references within the app process, nor can arbitrary code be executed in lambdas, so actions must be declared for the system to trigger on the host side and then call back to the app process.

Unverified50%
Oct 30

The Horologist Media Sample app has been updated with a new media widget showcasing the Wear Widgets API, including both small and large versions; on GitHub the legacy Proto Layout code and the new Remote Compose implementation can be compared side by side.

Unverified50%
Oct 30

Material 3 color schemes can be applied directly to Remote Compose components, keeping widgets consistent with the app's branding; existing Wear Material 3 design assets (including those in Figma) can be adapted to widgets fairly easily.

Unverified50%
Oct 30

A Remote Compose document is backed by a Canvas that fully retains all the features of the Android Canvas while allowing all float values to be replaced with expressions, so any mutable value can be animated.

Unverified50%
Oct 30

Expressions form a dependency tree: when the input value an expression depends on changes, the system only recomputes that expression and its downstream nodes without traversing the entire document tree.

Unverified50%
Oct 30

Remote Compose documents can be compressed by automatically deduplicating identical strings, loops, function abstraction, and template reuse, typically saving about half the size; the document header is not compressed.

Unverified50%
Oct 30

Remote Compose can already fully replicate existing widgets and supports adaptive adjustment and animation; a complete widget game document is only about 4KB.

Unverified50%

10 more timeline events

All Facts (20)

Unverified

The reason Remote Compose replaces lambdas with actions: components cannot directly hold object references within the app process, nor can arbitrary code be executed in lambdas, so actions must be declared for the system to trigger on the host side and then call back to the app process.

50%
Unverified

Material 3 color schemes can be applied directly to Remote Compose components, keeping widgets consistent with the app's branding; existing Wear Material 3 design assets (including those in Figma) can be adapted to widgets fairly easily.

50%
Unverified

Remote Compose is a brand-new UI framework that brings declarative APIs to remote UI scenarios, is highly aligned with Jetpack Compose, and brings modern graphics capabilities and responsive layouts to widgets.

50%
Unverified

Remote Compose decouples the UI from the app process, and components are securely serialized and can be rendered on a wide range of Android devices.

50%
Unverified

Remote Compose's API naming and interaction primitives: Box, Column and Text correspond to RemoteBox, RemoteColumn and RemoteText; Modifier and Boolean correspond to RemoteModifier and RemoteBoolean; and lambdas are replaced by actions.

50%
Unverified

Remote Compose's official players include the Compose player, the View player, and a Remote View implementation built in since a certain Android platform version; experimental players cover C++/Skia, TypeScript, and Compose Multiplatform.

50%
Unverified

A Remote Compose document is backed by a Canvas that fully retains all the features of the Android Canvas while allowing all float values to be replaced with expressions, so any mutable value can be animated.

50%
Unverified

Expressions form a dependency tree: when the input value an expression depends on changes, the system only recomputes that expression and its downstream nodes without traversing the entire document tree.

50%
Unverified

Remote Compose documents can be compressed by automatically deduplicating identical strings, loops, function abstraction, and template reuse, typically saving about half the size; the document header is not compressed.

50%
Unverified

Remote Compose can already fully replicate existing widgets and supports adaptive adjustment and animation; a complete widget game document is only about 4KB.

50%
Unverified

The Remote Compose library is hosted in AndroidX, and the documents and versions ship with DAC releases; the team is working on a public specification for the document format and developing a vector resource conversion tool.

50%
Unverified

The interface of the entire talk itself is powered by Remote Compose, including all animations.

50%
Unverified

Remote Compose lets remote surfaces render and interact on their own by transmitting a compact document that describes the UI rather than screen pixels.

50%
Unverified

Remote Compose documents are only a few KB in typical scenarios, and complex adaptive layouts are mostly in the tens of KB range.

50%
Unverified

A Wear OS workout tracker built with Remote Compose can achieve real-time metrics refreshed within seconds, whereas the traditional Compose approach may need to wait up to a minute to update metrics once in ambient mode.

50%
Unverified

Glance is the declarative UI framework in Jetpack for building Android widgets; its underlying implementation has long relied on RemoteViews, and the latest version can automatically generate Remote Compose documents as its backend.

50%
Unverified

Remote Compose offers three equivalent ways to create documents: the Compose API, a procedural Kotlin API (KMP), and the JSON format, all of which ultimately produce the same byte stream.

50%
Unverified

The Horologist Media Sample app has been updated with a new media widget showcasing the Wear Widgets API, including both small and large versions; on GitHub the legacy Proto Layout code and the new Remote Compose implementation can be compared side by side.

50%
Unverified

The Document Inspector is now available in preview, supporting step-by-step execution of operations and visualizing layouts at different densities and sizes, similar to Android Studio's full layout inspection, and can even do a 3D view.

50%
Unverified

Wear OS's new workout tracker has been built with Remote Compose and has shipped to the public beta of the Asics RunKeeper app.

50%

Source Articles