https://kotlinlang.org logo
#orbit-mvi
Title
# orbit-mvi
g

Giacomo De Bacco

05/25/2020, 1:38 PM
Hey, is there any other sample app out there that covers navigation, side effects and chain reactions a little better? I am struggling a bit to piece everything together
m

Mikolaj Leszczynski

05/25/2020, 9:10 PM
Hi there - sadly nope. Creating better samples is definitely on our TODO list so please check back later! That being said our priority right now is working on the redesigned Orbit 2 so the sample app work will have to come later as part of that.
but I’m happy to answer any questions you might have!
Re: navigation — in our application we do it by
post
-ing navigation action side effects from the middleware/viewmodel and having a component listening to the side effect relay to turn the actual action into an intent and fire it off.
g

Giacomo De Bacco

05/26/2020, 8:41 AM
Thanks for the answers, do you know when Orbit 2 will be available? The ability to use Livedata instead of Rx observables it's something I'm longing for sure
👍 1
Regarding the navigation I've tried doing that but I failed to observe side effects triggered by VM's controlled by different fragments. Not sure if I am doing something wrong or it's just not supported at the moment
m

Mikolaj Leszczynski

05/26/2020, 8:44 AM
Hard to say for sure. Generally it’s already in a good state but we need to run it through some real-world scenarios to fine-tune the APIs, create documentation and samples. I would say no earlier than July
Regarding the navigation I’ve tried doing that but I failed to observe side effects triggered by VM’s controlled by different fragments. Not sure if I am doing something wrong or it’s just not supported at the moment
Hmm I’d need to know some more details, but it should be supported fine.
g

Giacomo De Bacco

05/26/2020, 8:49 AM
I'll need to spend a bit more time playing with it so I can be more detailed with the questions. But I definitely like the library and it's a godsend for small teams without the manpower to implement these mechanics from scratch 👍
m

Mikolaj Leszczynski

05/26/2020, 9:25 AM
Wow, thanks! 😊 Glad you like it! If you’re interested in what Orbit 2 will be all about here are some key details: Orbit 2 is an initiative meant to take the best features of Orbit 1 (readable flows, ease of use, focus on Android) and rewrite the rest from scratch. The rationale behind this is that we think that we have reached the limit of what can be achieved with Orbit 1's DSL and structure. Additionally, coroutine support is very much needed right now as that’s where the Kotlin/Android community is moving towards so this is one of the primary features to look forward to. At the same time we cannot abandon RxJava users. Ideally you should be able to mix both in your project so that the framework can support you in piecemeal migration of your asynchronous calls. Features: - RxJava, coroutine support (and more thanks to extensibility) - Ability to mix RxJava and coroutines within the same orbit flow - To run on coroutines under the hood - Rely on functions for the flows instead of passing actions along (compile-time safety) - Focus on being able to test your flows easily - Extensibilty - Modularity - only use the features you want without pulling those dependencies down - Lightweight API
3 Views