Tatiana Chervova
Is reactive the new black? Imperative vs. reactive programming with Quarkus
#1about 2 minutes
Discovering reactive programming through a modern Quarkus project
A real-world project using Quarkus and a modern tech stack serves as the motivation for exploring the challenges and benefits of reactive programming.
#2about 1 minute
Examining the trend and debate around reactive programming
Reactive programming is a growing trend seen in conference talks and online forums, but developers hold opposing views on its complexity and practical adoption.
#3about 2 minutes
Contrasting imperative, declarative, and reactive code styles
Reactive programming is a form of declarative dataflow programming that focuses on 'what' to do, differing from the step-by-step 'how' of imperative code.
#4about 2 minutes
Meeting modern application demands with the Reactive Manifesto
The Reactive Manifesto outlines the principles of responsive, resilient, elastic, and message-driven systems needed to handle today's high-concurrency and large-scale data requirements.
#5about 4 minutes
Understanding blocking vs non-blocking I/O for requests
The imperative model uses a blocking thread-per-request approach, while the reactive model uses a non-blocking event loop to handle many concurrent requests with few threads.
#6about 3 minutes
Treating data and user inputs as asynchronous streams
In reactive programming, everything from variables to user inputs can be treated as an asynchronous stream of events, which can emit values, failures, or a completion signal.
#7about 4 minutes
Managing data flow with the backpressure mechanism
Backpressure is a key reactive concept where the consumer controls the data flow by signaling to the publisher how many items it is ready to process, preventing overload.
#8about 2 minutes
Deconstructing a reactive stream pipeline in Mutiny
A code walkthrough demonstrates how Mutiny's `multi` and `uni` types create and transform data streams, which only execute upon subscription.
#9about 2 minutes
Evaluating the advantages and disadvantages of reactive code
Reactive programming offers better performance and code locality but introduces challenges like a steep learning curve, a significant mindset shift, and complex debugging.
#10about 2 minutes
Identifying when to use imperative vs reactive approaches
Choose the imperative model for self-contained, CPU-intensive tasks and the reactive model for applications with high concurrency or real-time user interfaces.
#11about 1 minute
Unifying imperative and reactive code with Quarkus
Quarkus provides a hybrid model with a reactive core that allows developers to write traditional imperative code, automatically managing the execution on the appropriate thread.
#12about 2 minutes
Summarizing key takeaways and team onboarding strategies
Key lessons include aligning the programming approach with application and team needs, and effectively onboarding new developers by pairing them with experienced engineers.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
09:27 MIN
Exploring the Quarkus reactive technology stack
Development of reactive applications with Quarkus
33:43 MIN
Deploying reactive apps and key takeaways
Development of reactive applications with Quarkus
00:17 MIN
Comparing reactive and imperative code performance
Development of reactive applications with Quarkus
11:08 MIN
Exploring reactive Java frameworks and adoption challenges
Side-by-Side: Reactive vs non-reactive Java
43:46 MIN
Q&A on virtual threads, reactive programming, and Java 21
Introduction and pitfalls of Java's new concurrency model
01:00 MIN
The evolution from traditional Java EE to modern runtimes
2021: Familiar APIs on Kickass Runtimes #slideless
04:28 MIN
Core principles of the reactive manifesto
Development of reactive applications with Quarkus
00:04 MIN
Understanding the core principles of the reactive manifesto
Side-by-Side: Reactive vs non-reactive Java
Featured Partners
Related Videos
Side-by-Side: Reactive vs non-reactive Java
Jan Weinschenker
Development of reactive applications with Quarkus
Niklas Heidloff
What the heck do "declarative" and "reactive" actually mean?
André Kovac
Quarkus. A Bliss for developers
Alex Soto
The Rise of Reactive Microservices
David Leitner
Developer Joy with Quarkus
Daniel Oh
Bringing back reactivity in "reactive" frontend
Michał Moroz
Maximising Cassandra's Potential: Tips on Schema, Queries, Parallel Access, and Reactive Programming
Hartmut Armbruster
From learning to earning
Jobs that call for the skills explored in this talk.
![Senior Software Engineer [TypeScript] (Prisma Postgres)](https://wearedevelopers.imgix.net/company/283ba9dbbab3649de02b9b49e6284fd9/cover/oKWz2s90Z218LE8pFthP.png?w=400&ar=3.55&fit=crop&crop=entropy&auto=compress,format)
Senior Software Engineer [TypeScript] (Prisma Postgres)
Prisma
Remote
Senior
Node.js
TypeScript
PostgreSQL


Senior Fullstack Engineer (all genders)
envelio
Köln, Germany
Remote
Senior
Python
JavaScript
Structured Query Language (SQL)

Lead Full-Stack Engineer
Hubert Burda Media
München, Germany
€80-95K
Intermediate
Senior
React
Vue.js
Node.js
MongoDB
+1

Tech Lead (m/f/d) - Berlin
Patronus Group
Berlin, Germany
Senior
Kotlin
Android
Angular
Spring Boot
Amazon Web Services (AWS)

DevOps Engineer – Kubernetes & Cloud (m/w/d)
epostbox epb GmbH
Berlin, Germany
Intermediate
Senior
DevOps
Kubernetes
Cloud (AWS/Google/Azure)

Software Engineer
tree-IT GmbH
Bad Neustadt an der Saale, Germany
Remote
€54-80K
Intermediate
Senior
Java
TypeScript
Spring Boot

Java / Kotlin Developer in einem Cloud-Native-Stack
PROSOZ Herten GmbH
Herten, Germany
€47-70K
Intermediate
Senior
Java
Kotlin

Softwareentwickler Java, Python oder Ruby (w|m|d)
zeb consulting
Frankfurt am Main, Germany
Junior
Intermediate
HTML
React
JavaScript