DEV Community

Discussion on: Binding Android UI with Kotlin Flow

Collapse
 
dector profile image
Denys M.

Don't want to upset you. But there is library which does the same: Corbind.

Are there some reasons why to create new one?

Collapse
 
ychescale9 profile image
Yang

Yes I'm aware of Corbind! A couple of months into developing FlowBinding I found out about Corbind which also provides Flow bindings along with actor and channel bindings which existed before coroutines introduced Flow. I thought about moving on to something else but decided continue developing FlowBinding for a couple of reasons:

  • I want something that only supports cold streams (Flow) which is safer API to expose to the consumer than channels.
  • Testing is really important to me both as a developer and a library consumer so I was hesitant to introduce a library with no tests at all into my codebase. For FlowBinding I invested in building a custom testing framework and CI pipeline to ensure all bindings are tested with instrumented tests on CI, and I really wanted to leverage these to continue developing these bindings which had become a fairly mechanical process.
  • It's also a great exercise for me to be able to explore and interact with most of the UI widgets on Android many of which I'd never needed to touch as an app developer.

That said, from a user's perspective if you’re already using Corbind and are happy with it there’s probably little reason to switch; but if you are looking to migrate from RxBinding to a Flow equivalent today, I think FlowBinding is a good option.

Hope that answered you question 😀

Collapse
 
dector profile image
Denys M.

Thanks for you detailed answer!

Have you thought about joining your efforts (e.g. tests) with author of Corbind? I guess, it's win-win situation for the community when instead of few same-functionality libraries we'll have one that offers strong and bug-less implementation.

There is good example in Kotlin-community: Arrow. Authors of two functional libraries joined their efforts to avoid ecosystem fragmentation.

Good luck!

Thread Thread
 
ychescale9 profile image
Yang

Thanks! Will consider it.

Thread Thread
 
mochadwi profile image
Mochamad Iqbal Dwi Cahyo

both of you FlowBinding and Corbind libraries is awesome!!!