Why Use Quarkus?

Explore the main reasons for considering Quarkus as a Java framework.

Benefits of using Java

For many years, Java has been on top of the list of programming languages for enterprise applications. This can be explained by the years of development invested in Java by Oracle. Quarkus takes advantage of this all while being an open-source project.

Quarkus integrates well with modern Java frameworks and libraries, taking advantage of their best features.

Kotlin

Many Java developers prefer using KotlinA programming language that runs on the JVM. because it adds many features on top of the existing Java features. Kotlin and Java can also be used in the same project, which makes it great to use in existing code bases.

Quarkus offers top-level support for Kotlin by providing an extension that can simply be added to an existing project.

Developer productivity

From its beginning, the team behind Quarkus has prioritized helping developers achieve better productivity.

Live reload

One of the best features that Quarkus offers for developers is the live code reload. This means Quarkus will automatically detect any code changes, then re-compile and re-deploy any changes.

An example of this is when building a new API, we might need to make a small change to the result, such as renaming a property or changing the order. A simple save and browser reload will be enough to have the latest code deployed.

This concept is taken even further with continuous testing. Any changes to the tests will automatically be compiled and run to show the latest results.

Dev services

A dev service eliminates the hassle of having a full development environment. If we need to use a database, we can add the dev service needed, and our application will automatically have access to this database without the need to configure it externally.

Quarkus offers an extensive list of dev services, including databases, messaging platforms, and authentification standards.

Build process

Quarkus simplifies the build process by offering directly the possibility to build native and JVM images with different build tools and the option to build a Docker image without having to worry about creating Docker files.

Kubernetes native

The Kubernetes-native framework used in Quarkus implies that many optimizations are done to ensure low memory usage and fast startup times.

Reactive

Reactive programming is a design paradigm that relies on asynchronous programming logic to handle real-time updates.

Quarkus is based on Vert.x, which is used to create reactive applications. That is why Quarkus is fully reactive and gives developers the choice to build both blocking (imperative) and non-blocking (reactive) applications.