workflow-kotlin
orbit-mvi
Our great sponsors
workflow-kotlin | orbit-mvi | |
---|---|---|
9 | 6 | |
977 | 826 | |
0.8% | 4.4% | |
9.2 | 6.2 | |
about 19 hours ago | 7 days ago | |
Kotlin | Kotlin | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
workflow-kotlin
-
Flow or RxJava
For example square has open sourced workflow https://github.com/square/workflow-kotlin (MVI + plugin based architecture), if you look other examples like molecule they use Presenters (not the MVP ones) which is completly different. The only common thing is that they are both UDF.
-
What libraries would you use if you were starting a new project?
workflow. Quite a shift in how you write an app, but enough extension points that it's not that much of an issue, and it's really pleasant to use.
-
Single Activity architecture with custom views. Common pattern or anti-pattern?
I don't know how common/popular it actually is, but it's definitely not uncommon. Square has been doing this kind of home-made navigation for quite a while as far as I know (most recently in the form of workflow-kotlin), Lyft (Scoop) as well, and more (e.g. Conductor).
- Released workflow v1.0.0
-
Tap Response Time: Jetpack Navigation 🗺
We'll focus on Jetpack Navigation here, however most of the content applies for any navigation library or tap action. In fact, I first implemented this at Square on top of Flow and Workflow.
-
Why is there nothing like Redux, Vuex, MobX, etc... for Android?
There's kotlin workflow by square https://github.com/square/workflow-kotlin
orbit-mvi
-
MVI with usecase instead of repository?
Go over to the docs for orbit-mvi and show how it has these flaws.
-
I ported the Spotify Mobius GitHub wiki to GitHub Pages + MkDocs with light and dark modes. I just created the issue and filed the PR. Let's see what happens!
This looks great! Semi-related question... have you evaluated other MVI frameworks like Mavericks / Uniflow / Orbit? What made you decide on Mobius?
-
Implementing Jetpack Compose + Orbit MVI
Name Link Koin https://insert-koin.io Jetpack Compose https://developer.android.com/jetpack/compose Navigation Compose https://developer.android.com/jetpack/compose/navigation Orbit MVI https://orbit-mvi.org Coil https://coil-kt.github.io/coil/ Room https://developer.android.com/training/data-storage/room?hl=ja Kotlin-Serialiazation https://github.com/Kotlin/kotlinx.serialization PokemonGO-Pokedex https://github.com/Biuni/PokemonGO-Pokedex
-
Compose architecture: MVVM or MVI with Flow?
Do you recommend Mavericks? I've been meaning to evaluate it and orbit-mvi.
-
What is wrong with MVVM?
Everything in MVI is just more code that does nothing (see how most MVI frameworks are basically just a wrapper over state.value = state.copy() like in Orbit or MvRx which you wouldn't even need if you used combiners) and instead adds unnecessary constraints over MVVM that don't help you at all. The "sealed class inputs" are basically a reinvention of calling interface functions except you create classes for it, despite there being no asynchronicity when you have a View -> ViewModel communication.
-
Why is there nothing like Redux, Vuex, MobX, etc... for Android?
Redux is called MVI in Android world. There are plenty of MVI libs: MVICore, orbit-mvi, mobius and other.
What are some alternatives?
mobius - A functional reactive framework for managing state evolution and side-effects.
Jetpack-Compose-Orbit-MVI-Demo - Demo / Sample Android Project created with Jetpack Compose and Orbit MVI
Flow - Name UI states, navigate between them, remember where you've been.
MVIKotlin - Extendable MVI framework for Kotlin Multiplatform with powerful debugging tools (logging and time travel)
architecture-components-samples - Samples for Android Architecture Components.
MVICore - MVI framework with events, time-travel, and more
MVI-Coroutines-Flow - Play MVI with Kotlin Coroutines Flow | MVI pattern on Android using Kotlin Coroutines Flow | Dagger Hilt DI | Koin DI | SharedFlow | StateFlow | Arrow.kt Android Sample
mobx - Kotlin MobX implementation
MvRx - Mavericks: Android on Autopilot
experiment-apex - A basic, incomplete, buggy, far from efficient UI toolkit for Kotlin/Android. An experiment for fun and to learn.