Cash App Jake Wharton

Cash App's Native UI and multiplatform Compose with Redwood

Original post Native UI and multiplatform Compose with Redwood

Article Summary

Cash App just open-sourced Redwood, their answer to the multiplatform UI problem. Unlike other solutions, it renders with native UI toolkits instead of recreating them.

Jake Wharton explains how Cash App built Redwood to share UI logic across Android, iOS, and web while keeping platform-native rendering. The framework uses Kotlin and Compose to generate composables that interface with each platform's native components.

Key Takeaways

Critical Insight

Cash App is releasing Redwood 0.5 beta and rolling out native multiplatform UI experiences to customers after limited internal testing.

Continue reading

What This Article Covers

Problem

Cash App engineers needed to build mobile UIs that worked across multiple platforms. They wanted to keep using their existing app styles and custom controls, and they didn't want to learn a completely new ecosystem.

Solution

Jake Wharton's team picked Kotlin because it compiles to Java bytecode, native code through LLVM, and JavaScript. This meant they could run the same code on Android, iOS, and web platforms using Compose to manage state.

Impact

Redwood 0.5 beta maintained backward compatibility through the updatable Treehouse bridge. This lets future versions like 0.6 work with older apps that are still running 0.5 without causing problems.

The schema-to-composable generation approach could change how teams with design systems think about cross-platform UI architecture.

This page summarizes “Native UI and multiplatform Compose with Redwood” by Cash App, published Jul 5, 2023. All credit for the original work goes to the authors.

Read the original on code.cash.app (opens in new tab)

AI tools for Android

Browse all AI tools →