Presenters
Source
Quarkus in Action: Unlocking Java’s Supersonic Superpower with Its Creators! 🚀💡
Welcome, fellow tech enthusiasts! Ever wonder what it takes to write a groundbreaking tech book, especially when the technology itself is evolving at warp speed? Today, we’re diving into the fascinating world of Quarkus, the beloved “supersonic subatomic Java” framework, and the journey behind the brilliant book, “Quarkus in Action.” We sat down with authors Martin Štefanko and Jan Martiška, alongside host Holly Cummins, to uncover the magic, the challenges, and the sheer joy of creating a resource for developers aiming to master Quarkus.
What Makes Quarkus Shine So Bright? ✨👨💻
Before we even crack open the book, a fundamental question arises: Why Quarkus? If you’re new to the scene, or even if you’re a seasoned Java developer, Martin and Jan make a compelling case for why Quarkus is a game-changer.
Developer Experience: Productivity on Steroids 🚀
Martin emphasizes that for an engineer, developer experience is paramount. Quarkus’s Dev Mode is the single most productive tool he has ever encountered. It allows developers to iterate at an incredible pace. Jan adds to this with Continuous Testing, a feature that runs tests silently in the background, only alerting you when something breaks. Imagine writing code and knowing instantly if you’ve introduced a regression!
Blazing Fast Performance & Innovation ⚡
Jan highlights Quarkus’s blazing fast startup times and excellent performance. This isn’t just magic; it’s thanks to build-time initialization, a truly innovative concept in the Java world. Applications are partially initialized during the build process, making them incredibly fast when they actually launch. This is a game-changer for microservices and serverless functions where quick startup is crucial.
A Familiar Yet Evolving Ecosystem 🌐
Quarkus boasts a growing ecosystem that glues together frameworks developers already know and love. This means you don’t need to learn a whole new stack; your existing Java enterprise knowledge is incredibly valuable.
Clean Code & AI Synergy 🤖
Holly points out that developers spend more time reading code than writing it. Quarkus’s beautifully clean and compact syntax is a huge advantage. Martin also reveals that Quarkus is at the forefront of LLM integrations in Java, with projects like LinkChain4J making AI integration seamless. And get this: an AI assistant is coming soon directly into Quarkus, deeply understanding its internal details to help you write even better applications!
“Quarkus in Action”: The Journey of a Book 📚✍️
Writing a book is no small feat, especially for a rapidly evolving technology. Martin and Jan share their inspiring (and sometimes challenging) journey.
The Spark of Inspiration 🔥
Martin’s personal goal was to write a book before turning 30, inspired by a conversation with Heinz Kabutz. An opportunity arose when a previous attempt at “Quarkus in Action” fell through, and he seized it! Recognizing the immense undertaking, he reached out to the Quarkus team, and Jan volunteered to help. Collaboration proved essential.
The Evolution Challenge: Keeping Up with Quarkus 🕰️🔄
One of the biggest hurdles was Quarkus’s rapid development. The authors started writing with Quarkus version 2.x, and the final book was published covering version 3.15.1! This meant constant rewrites and updates across the entire 300-page manuscript. While OpenRewrite made code updates easier, updating text, explanations, and especially screenshots was a monumental task. Coordinating changes between multiple authors across interdependent chapters added another layer of complexity.
Diving Deep: What’s Inside the Book? 📖🧐
The book is structured into three logical parts, guiding readers from foundational concepts to advanced cloud deployments.
Part 1: Getting Started with Quarkus 🚀
This section introduces Quarkus, its core principles, and walks you through building your first application. Chapter 3, dedicated to Dev Mode and its goodies, is highlighted as a must-read for anyone new to Quarkus, showcasing its powerful developer productivity features.
Part 2: Building a Car Rental Empire 🚗💨
This is where the rubber meets the road! The book guides readers in building a sophisticated car rental management system comprising five microservices. To showcase the breadth of Quarkus, the authors purposely over-complicated the system, integrating a wide array of frameworks and technologies. You’ll learn:
- REST APIs and REST clients
- GraphQL APIs and GraphQL clients
- gRPC services and gRPC clients
- Comprehensive testing strategies
- Developing secure applications with HTMX frontends
- Working with databases and Hibernate ORM
- Reactive programming and reactive messaging
This part alone demonstrates how Quarkus seamlessly integrates various protocols and databases. When running all five services in Dev Mode, it spins up an additional 12 containers for supporting services – a testament to the system’s complexity!
Part 3: Deploying in the Cloud ☁️🐳
The final part focuses on taking your Quarkus applications to production. It covers containerizing your services and deploying them to OpenShift. Chapter 12 provides essential instructions for writing your own Quarkus extension, empowering developers to integrate their custom frameworks.
The Ecosystem: A Glimpse of the Vastness 🌌
With 850 to 900 Quarkus extensions available, the authors had to make tough choices. The book focuses on showcasing use cases rather than covering every single extension. Despite the page limitations, the example system explicitly uses 29 distinct extension dependencies, plus many more transitively, providing a solid foundation across various application development scenarios.
Unveiling Surprises & Deep Dives 💡🤔
Even seasoned Quarkus developers can learn new tricks. Holly, a long-time
Quarkus contributor, was surprised to learn that code.quarkus.io has a REST
API! The authors also shared what they personally learned during the writing
process.
Mastering Messaging with Quarkus 📡
Jan, who had limited prior knowledge of messaging, found himself diving deep into the subject. Quarkus provides a general API, based on the MicroProfile Reactive Messaging specification, that abstracts away different messaging providers (like RabbitMQ). This allows for reactive programming, preventing blocking threads while waiting for responses, though you don’t have to write reactive code to use messaging.
A fantastic feature here is Quarkus Dev Services, which uses Testcontainers to automatically spin up messaging backends. This simplifies local development and testing, even allowing multiple Quarkus applications to discover and connect to the same backend instance effortlessly.
Frontend Flexibility with Quarkus 🎨
Martin, typically a terminal-first engineer, gained valuable insights into Quarkus’s approach to frontends, particularly with HTMX. Quarkus offers incredible flexibility, supporting virtually any JavaScript framework or even Java-based frameworks like Vaadin. The Quarkus documentation is a treasure trove for frontend integration strategies.
JVM vs. Native: The Million-Dollar Question 🎯⚖️
This is a recurring debate in the Quarkus community, and Martin provides a crystal-clear explanation of when to choose JVM versus Native compilation.
-
Native Compilation:
- Pros: Very fast startup, very low memory footprint. Ideal for applications that need to start quickly and don’t live long, such as serverless deployments (to combat cold starts) and Command Line Interfaces (CLIs). Martin even shared a personal anecdote about a Quarkus CLI tool he uses to add diacritics to text from his clipboard!
- Cons: Uses ahead-of-time (AOT) compilation with a closed-world assumption. While initial performance is high, it’s static.
-
JVM Runtime:
- Pros: While starting with lower initial performance (throughput), the JVM’s JIT compiler optimizes code over time, leading to superior long-term performance for long-running services.
- Cons: Slower startup, higher initial memory consumption compared to native.
- Recommendation: For typical microservices or normal cloud applications that run for extended periods, stick to JVM.
A Final Wag of the Tail (and a Purr!) 🐶🐱
Writing “Quarkus in Action” was clearly a labor of love, akin to raising a child (or, as Jan and Holly recently discovered, a puppy!). The journey had its ups and downs, including the unexpected challenge of reconciling Podman and Docker environments during containerization!
As the session wrapped up, we were even treated to a cameo from Jan’s adorable 2.5-month-old puppy, Betty, and Martin’s mischievous cat, Scratchy! It was a delightful reminder that even brilliant tech writers have furry companions.
Holly wholeheartedly recommends “Quarkus in Action” not only for newcomers but also for experienced Quarkus developers, promising that everyone will learn something new. So, whether you’re building your first microservice or optimizing a complex cloud native application, this book is your essential guide to harnessing the full power of Quarkus!
Grab your copy of “Quarkus in Action” today and supercharge your Java development! 🚀