World Congress 2023 • Oct 6, 2023

Migration to declarative UI in Android development

Crístian Viana

Ditch XML layouts and eliminate heavy boilerplate for good. Incrementally migrating your Android app to Jetpack Compose drastically speeds up feature development and simplifies complex UI states.

Pause
Mute Enter Fullscreen
#1 about 1 min

Context for migrating an Android app to declarative UI

How an airline application team scoped their migration to Jetpack Compose for complex UI domains.

#2 about 4 min

Comparing imperative and declarative UI development paradigms

How declaring required UI states simplifies code compared to explicitly updating imperative views.

#3 about 2 min

Key advantages of the Jetpack Compose library

Why an embedded UI library offers backward compatibility and immediate adoption of bug fixes without waiting for system updates.

#4 about 1 min

Writing a minimal hello world in Jetpack Compose

Why creating a minimal starting point without any XML bindings or external layout files is radically simpler.

#5 about 4 min

Combining column, row, and box baseline layouts

How building complex software panels is accomplished by nesting vertical, horizontal, and layered composable functions.

#6 about 2 min

Replacing RecyclerView with the simple LazyColumn layout

How creating dynamic data sets directly in layout code avoids adapting complex legacy layout classes.

#7 about 2 min

Constructing standard screen frameworks with the Scaffold component

How predefined structural components streamline the layout of universal elements like navigation bars and floating buttons.

#8 about 3 min

Navigating the Compose lifecycle and rendering process

How understanding the background orchestration of composition, layout, and drawing limits unnecessary client-side rendering.

#9 about 3 min

Triggering interface updates using composed state holders

How binding custom variables directly to components automates visual transformations as data shifts over time.

#10 about 3 min

Implementing smooth transitions with built-in animation states

How modifier properties streamline the generation of fluent transition events and geometry transformations across interface objects.

#11 about 3 min

Previewing and debugging Compose logic in Android Studio

How live previews, a responsive layout tree, and timeline inspectors accelerate front-end prototyping operations.

#12 about 6 min

Adopting Compose gradually in a production legacy app

How binding Compose to existing view models simplifies iterative rollout in massive legacy platforms.

#13 about 3 min

Confronting missing components and lifecycle issues during migration

How to navigate missing standard widgets and integration hurdles while scaling up declarative component design.

#14 about 1 min

Integrating recommended UI architectures with Jetpack Compose

How managing data streams with recommended architectures aligns seamlessly with modern component-based workflows.

Matching moments

7:54 min

Building a live interactive preview using Jetpack Compose

Peter Steinberger · World Congress 2021

11:49 min

Architecting modular data domains and Jetpack Compose wearable layouts

Fedor Tсymbal · LIVE

2:25 min

Origins and architectural capabilities of the React Native framework

Edoardo Dusi · LIVE

3:37 min

Advantages of unbundling in Jetpack Compose for Android

Peter Steinberger · World Congress 2021

2:26 min

Exploring the Jetpack Compose architecture of Upnext

Ahmed Tikiwa Ahmed Tikiwa · World Congress 2026 Europe

4:49 min

Improving Android screen reader experience with content descriptions

Aldo Socarras · LIVE