Dispatch
event-emitter
Dispatch | event-emitter | |
---|---|---|
1 | 9 | |
136 | 78 | |
- | - | |
0.0 | 0.0 | |
3 months ago | over 1 year ago | |
Kotlin | Java | |
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.
Dispatch
-
LiveData is superior to StateFlow for UI and ViewModel layer.
Dispatch has Lifecycle extensions which automatically start/stop without leaking pausing behavior. It has quite a few other shiny features as well.
event-emitter
-
ViewModel: for UI business, not UI operations 😮
If you mean UI events like the events from the Model to the UI, then you can use a sealed class and a Channel or EventEmitter
-
Kotlin Flow implementation of SingleLiveEvent
I can also comment https://github.com/Zhuinden/event-emitter 😛
-
Sending View Model Events to the UI (is this how people are handling Navigation and Snackbars now?)
For events, I use https://github.com/Zhuinden/event-emitter with https://github.com/Zhuinden/live-event
-
What's the proper way of accessing a Composable function from a non-composable one?
I use https://github.com/Zhuinden/event-emitter for this sort of thing via DisposableEffect(Unit) {
-
MVVM and one shot operations
If there isn't multiple screen switches involved, I use https://github.com/Zhuinden/event-emitter
-
LiveData is superior to StateFlow for UI and ViewModel layer.
That's why I wrote EventEmitter and never had a problem.
-
What is your currently configured SharedFlow implementation ?
I use BehaviorRelay in place of MutableStateFlow/MutableLiveData, and I use EventEmitter in place of uh, SingleLiveEvent I guess.
-
LiveData vs SharedFlow and StateFlow in MVVM and MVI Architecture
Well I've been using this which is merely a lifecycle-aware wrapper over this, if you're in Kotlin and you are using coroutine stuff then you can also use Channel(UNLIMITED) with receiveAsFlow()
What are some alternatives?
androidx - Development environment for Android Jetpack extension libraries under the androidx namespace. Synchronized with Android Jetpack's primary development branch on AOSP.
Kotlin_Flow_To_The_View - PoC using Flow completely on an Android Projet with MVVM architecture. No LiveData. The advantage over simply using the viewModelScope is the fact that 5 seconds after leaving the application (not killing it !), the coroutine is cancelled, avoid possibly unnecessary work.
navigator - A small navigation library for Android to ease the use of fragment transactions & handling backstack (also available for Jetpack Compose).
live-event - [ACTIVE] Lifecycle-aware wrapper over EventEmitter, for modelling one-off events.
compose-destinations - Annotation processing library for type-safe Jetpack Compose navigation with no boilerplate.
voyager - 🛸 A pragmatic navigation library for Jetpack Compose
simple-stack-ftue-sample - [DEMO] Sample code to display "First-Time User Experience" in a Single-Activity app using Simple-Stack, based on the "Conditional Navigation" section by Google.
compose-router - [DEPRECATED] Routing functionality for Jetpack Compose with back stack
simple-stack-compose-integration - [ACTIVE/BETA] Compose integration for Simple-Stack.
compose-navigation-reimagined - 🌈 Type-safe navigation library for Jetpack Compose