Our great sponsors
-
compose-multiplatform
Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I will say on the topic of multiplatform, rxjava isn't directly supported. However there is a multiplatform Rx library called reaktive which has way better testing support compared to coroutines at the moment. although if multiplatform is something you're interested in doing I would start the project off rather than do it later to save time in the long run. If you're interested, the mpp Todo sample is a good example demonstrating a lot of everything.
I will say on the topic of multiplatform, rxjava isn't directly supported. However there is a multiplatform Rx library called reaktive which has way better testing support compared to coroutines at the moment. although if multiplatform is something you're interested in doing I would start the project off rather than do it later to save time in the long run. If you're interested, the mpp Todo sample is a good example demonstrating a lot of everything.
The catch operator ignores CancellationException which is used for cooperative cancellation in coroutines and flows. If you use try/catch, make sure you're not accidentally swallowing those exceptions. The same goes for runCatching, which catches all Throwables.
Turbine is an excellent library for testing flows and is pretty much required imo. But overall Rx is much easier to test; debugging works much more consistently and the built in testing functions are great.