Deepdive into Reactive Spring with Coroutines and Kotlin Flow by Sébastien Deleuze
- Published on Nov 4, 2019
- Spring Coroutines official support allows to go Reactive with Kotlin, WebFlux, RSocket and R2DBC (Reactive SQL) with a great balance between imperative and declarative programming, and can even be used outside of the JVM.
In this deep dive session, we are going to take a journey across building step by step a distributed chat application with Spring Boot 2.2 for the backend and Kotlin/JS for the frontend to experiment concretely with these topics:
Main reasons for switching from Java to Kotlin
State of Kotlin support in Spring Boot 2.2
The 3 pillars of Coroutines 1.3: suspending functions, structured concurrency and the brand new Flow type
Coroutines support in Spring WebFlux with @Controller and the router DSL
Using Coroutines in the browser with Kotlin/JS
Building a Reactive messaging infrastructure with RSocket
Reactive SQL with R2DBC
Configuring Spring Boot explicitly with Kofu experimental DSL from Spring Fu incubator
Sébastien is a Spring Framework committer at Pivotal, with a focus on Web, Reactive and GraalVM native image topics. He is also in charge of the Kotlin support across Spring portfolio and created the Spring Fu project. In his spare time, he is a member of the MiXiT conference staff.