Have you struggled with the deep learning curve of Java’s concurrency abstractions such as Threads, (Completable)Futures or reactrive libraries like RxJava or Reactor? Then Kotlin’s Coroutine will be a revelation for you! In this talk we will expore Kotlin’s Coroutine and discover how you can write asynchronous, non-blocking code as if it was synchronous, blocking code involving no library or complex concurrency abstractions at all. After having covered the basics we will discover how Coroutines seamless integrate with Spring Boot’s Reactor using many live-coded examples. Be surprised how easy it is to have asynchronous database interaction and execute remote service calls in parallel. Live performance tests will provide you detailed insights about the (impressive) improvements achieved by Coroutines at no cost in terms of complexity. Finally, we will take a look under the hood and unveil how existing concurrency abstractions like Reactor can be lifted into the Coroutine world with a few lines of code, so that you learn how to incorporate Coroutines in your own project no matter which reactive library you use.
Bio Urs:
Urs is a seasoned software engineer and trainer with over 15 years of experience in building resilient, scalable and mission critical systems mostly involving Kotlin and Scala. Besides his job as consultant, he is also a passionate trainer and author of a great variety of trainings ranging from language courses for Kotlin and Scala, frameworks such as Akka and Akka Stream to architectural trainings such as Event-Driven Architectures on AWS. As a people person by nature he loves to share knowledge and inspire and get inspired by pears on meetups and conferences.