An open API service indexing awesome lists of open source software.

https://github.com/floschu/control

🎮 coroutines flow based uni-directional architecture
https://github.com/floschu/control

android control controller coroutines kotlin kotlin-flow library mutation-test unidirectional-data-flow

Last synced: 19 days ago
JSON representation

🎮 coroutines flow based uni-directional architecture

Awesome Lists containing this project

README

          

flow


version
license


last commit
coverage
build

## installation

``` groovy
repositories {
mavenCentral()
}

kotlin {
sourceSets {
commonMain {
dependencies {
implementation("at.florianschuster.control:control-core:$version")
}
}
}
}
```

see [changelog](https://github.com/floschu/control/blob/develop/CHANGELOG.md) for versions

## controller

flow

A [Controller](control-core/src/commonMain/kotlin/at/florianschuster/control/Controller.kt) is an
ui-independent class that controls the state of a view. The role of a `Controller` is to separate
business-logic from view-logic. A `Controller` has no dependency to the view, so it can easily be
unit tested.

## info & documentation

1. [controller](https://github.com/floschu/control/wiki/controller)
2. [view](https://github.com/floschu/control/wiki/view)
3. [transformations](https://github.com/floschu/control/wiki/transformations)
4. [effects](https://github.com/floschu/control/wiki/effects)
5. [controller testing](https://github.com/floschu/control/wiki/controller-testing)
6. [view testing](https://github.com/floschu/control/wiki/view-testing)
7. [logging](https://github.com/floschu/control/wiki/logging)

## examples

* [kotlin-counter](examples/kotlin-counter): most basic kotlin example. uses `Controller`.
* [android-counter](examples/android-counter): android counter example built
with [jetpack compose](https://developer.android.com/jetpack/compose).

## author

visit my [website](https://florianschuster.at/).