Decompose

Kotlin Multiplatform lifecycle-aware business logic components

License

License

Categories

Categories

Data
GroupId

GroupId

com.arkivanov.decompose
ArtifactId

ArtifactId

extensions-compose-jetbrains-metadata
Last Version

Last Version

0.2.4
Release Date

Release Date

Type

Type

module
Description

Description

Decompose
Kotlin Multiplatform lifecycle-aware business logic components
Project URL

Project URL

https://github.com/arkivanov/Decompose
Source Code Management

Source Code Management

https://github.com/arkivanov/Decompose

Download extensions-compose-jetbrains-metadata

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Maven Central License Twitter URL

badge badge badge badge badge badge

Decompose

Please see the project website for documentation and APIs.

Decompose is a Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing functionality and pluggable UI (Android Views, Jetpack Compose, SwiftUI, JS React, etc.) This project is inspired by Badoos RIBs fork of the Uber RIBs framework.

Setup

Setup Decompose in your Gradle project

Overview

  • Components - every component represents a piece of logic with lifecycle and optional pluggable UI.
  • ComponentContext - provided to every component with the tools for routing, state keeping, instance keeping and lifecycle
  • Routers - responsible for managing components with a backstack and its own Lifecycle
  • StateKeeper - preserve state during configuration changes and/or process death
  • InstanceKeeper - retain instances in your components (similar to AndroidX ViewModel)

Samples

Check out the project website for a full description of each sample.

Articles

Author

Twitter: @arkann1985

If you like this project you can always Buy Me A Coffee ;-)

Versions

Version
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0