compose-router
event-emitter
compose-router | event-emitter | |
---|---|---|
7 | 9 | |
638 | 78 | |
- | - | |
0.0 | 0.0 | |
almost 2 years ago | about 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.
compose-router
-
ViewModel: for UI business, not UI operations 😮
Compose router
-
compose-router VS compose-navigation-reimagined - a user suggested alternative
2 projects | 4 Feb 2022
- Am I the only one that feels Compose is a step backward?
-
Can we replace the need for Fragment with Jetpack Compose?
Many complain about Compose Navigation, with good reason, but there are alternatives out there, I use this one https://github.com/zsoltk/compose-router.
-
Android Jetpack Compose (Conditional Navigation)
I found this library to be a great replacement https://github.com/zsoltk/compose-router. The example contains a login logout state which is exactly what you are asking for.
-
Navigator Compose - A navigation library for Jetpack Compose
One thing I dislike about navigation component is the way it handle args. You don't need an arguments parameter because your destination is basically a composable function which can accept parameters (as it is a function). See compose-router.
-
A Jetpack Compose By Any Other Name Jake Wharton
The Badoo devs are working on this in both badoo/RIBs and also https://github.com/zsoltk/compose-router
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?
flexbox-layout - Flexbox for Android
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).
androidx - Development environment for Android Jetpack extension libraries under the androidx namespace. Synchronized with Android Jetpack's primary development branch on AOSP.
compose-navigation-reimagined - 🌈 Type-safe navigation library for Jetpack Compose
voyager - 🛸 A pragmatic navigation library 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.
Dispatch - Automatic CoroutineDispatcher injection and extensions for kotlinx.coroutines