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.
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.
Don't want to upset you. But there is library which does the same: Corbind.
Are there some reasons why to create new one?
Yes I'm aware of Corbind! A couple of months into developing FlowBinding I found out about Corbind which also provides
Flow
bindings along withactor
andchannel
bindings which existed before coroutines introducedFlow
. I thought about moving on to something else but decided continue developing FlowBinding for a couple of reasons:Flow
) which is safer API to expose to the consumer than channels.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 😀
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!
Thanks! Will consider it.
both of you
FlowBinding
andCorbind
libraries is awesome!!!