Designing scalable Compose APIs
summary
Guidelines for building a reusable Jetpack Compose chip: design for one problem, split variants into low-level basic and higher-level opinionated layers, and prefer stateless composables with state hoisting so callers control enabled/selected values. Expose a single Modifier as first optional parameter (default Modifier) and use slotted content with scoped layout (row scope) for icon+label. Provide public componentDefaults object for styling, hoist InteractionSource for press testing, and merge semantics with semantics mergeDescendants = true so accessibility and tests work reliably.
AI-written summary · about
chapters (6)
- 0:00Introduction
- 3:32New Compose API decision
- 10:20Structuring Compose API
- 25:05State and events in APIs
- 29:20Accessibility and testability
- 36:45Summary
related talks
36mNever Be Confused Again! A Practical Guide to Writing Jetpack Compose
39mRe-Compose your UI: building an atomic design library
31mDesigning Media Friendly Jetpack Compose Components
40mJetpack Compose Mechanisms
46mOptimizing Compose: Issues, Experience, Tactics, Strategy
21mPerformance best practices for Jetpack Compose
37mAdopting Jetpack Compose Safely
43mBuilding Accessible Apps with Jetpack Compose
