Konrad is a software engineer working at Allegro, a major Polish e-commerce company. He has 20 years of experience in the IT industry in various roles (mostly as a developer and a technical leader) in software companies. He spent the last 17 years of his career with Java-related technologies. For the past two years he’s used Kotlin as his primary programming language (with delight). He blogs a bit, gives talks and trainings and contributes to open source.
Coroutines and Reactive Programming – friends or foes?
Coroutines may be seen as a replacement of reactive programming. Both of them offer the possibility to create asynchronous applications although in a very different way.
Does it still make sense to use reactive programming in Kotlin? Or can we just stick with coroutines and forget all about other asynchronous applications approaches?
Or maybe we can mix both of them, take their best parts and come up with a solution which is superior to any of the two?
In this session we’ll learn the differences between coroutines and reactive programming. We’ll see when one shines and the other… is not so great. We’ll look under the hood
to find out the reasons behind some design decisions and how those decisions affect performance and interoperability. We’ll try to decide when we should use coroutines
and when the reactive programming model is better.