https://kotlinlang.org logo
#android
Title
# android
s

Seri

04/06/2018, 4:16 PM
Does anyone have recommendations for managing an asynchronous UI state with Kotlin and RxJava? Jwharton’s talk here was great, but I’m not sure if there have been any developments since then:

https://www.youtube.com/watch?v=0IKHxjkgop4&feature=youtu.be

c

Casey Kulm

04/06/2018, 4:41 PM
Even older, and not Android related, but a very similar talk I love watching is

https://www.youtube.com/watch?v=1zj7M1LnJV4

s

Seri

04/06/2018, 5:04 PM
Thanks Mr. @Casey Kulm! I’ll give that a watch
a

alexsullivan114

04/06/2018, 5:40 PM
Do you have a specific UI problem in mind, or are you wondering more about high level architectures that deal with asynchronous UI elegantly?
s

Seri

04/06/2018, 5:42 PM
Moreso the latter
I have the chance to choose an architecture moving forward, and am trying to set up a good framework ahead of time
a

alexsullivan114

04/06/2018, 5:57 PM
I've personally been a pretty big fan of something like
MVVM
- assuming we're mostly concerned the with the UI portion of the architecture, I've found that having your "view" (whatever form that takes) subscribe to a stream of events allows that stream to be generated entirely asynchronously.
You can sprinkle in other buzzwords for the rest of your architecture like unidirectional data flow and all that jazz to spice things up
but thats the biggest game changer I've found so far. Having the view in charge of subscribing to some source that emits some type of object that corresponds to UI state.
s

Seri

04/06/2018, 8:01 PM
Thanks for the insight, @alexsullivan114! I was also looking into MVP and MVVM architectures, and I think I just found a good set of examples
a

alexsullivan114

04/06/2018, 8:02 PM
Awesome, good luck! Let us know how it turns out!
s

Seri

04/06/2018, 8:02 PM
👍
c

Casey Kulm

04/06/2018, 8:43 PM
Unidirectional really does seem like a big game changer to me, but unfortunately it hasn’t gained as much popularity on native mobile development yet. Redux is huge in the front end web world https://redux.js.org/
But yeah I like MVVM since it’s pretty easy to do on Android at the moment. Custom Views with a single setter that takes a View Model POJO
Little bit of stuff behind a Flux (Facebook front end web library) for Android http://armueller.github.io/android/2015/03/29/flux-and-android.html
MVI clone (architecture from CycleJS front end web apps) for Android forking the Google Architecture examples https://github.com/oldergod/android-architecture
^ my favorite
g

ghedeon

04/07/2018, 8:06 AM
true, one of the best mvi implementations on Android that I've seen. I like the concept, but on a second thought, it creates so much boilerplate code and so much dancing around even a miniscule things, so I'm not sure anymore.
t

tschuchort

04/07/2018, 10:15 PM
andre staltz is your guy if you want to read about unidirectional architectures. He made a great overview (although it's mostly web centric). You should also take a look at the functional android reference app by paco estevez, which takes a somewhat different approach. In my opinion MVI doesn't scale well. I'm still trying out different things to find a good functional architecture but for a critical product I would stay with MVVM for now