Decompose is a Kotlin Multiplatform library for breaking down your code into lifecycle-aware business logic components (aka BLoC), with routing functionality and pluggable UI (Compose, Android Views, SwiftUI, Kotlin/React, etc.).

Features

  • Better separation of concerns
  • Decompose draws clear boundaries between UI and non-UI code
  • Pluggable platform-specific UI (Compose, SwiftUI, Kotlin/React, etc.)
  • Business logic code is testable with pure multiplatform unit tests
  • Proper dependency injection (DI) and inversion of control (IoC) via constructor, including but not limited to type-safe arguments
  • Components in the back stack are not destroyed, they continue working in background without UI
  • Instances retaining (aka ViewModels) over configuration changes (mostly useful in Android)
  • Lifecycle-aware components
  • Shared navigation logic

Project Samples

Project Activity

See All Activity >