Skip to content

quarkus

devonfw-core edited this page Dec 13, 2022 · 11 revisions
Table of Contents

Quarkus

Quarkus is a Java framework for building cloud-native apps. It is fully supported by devonfw as an option and alternative to spring. Additional things like extensions will be available on the devon4quarkus GitHub repository.

Guide to the Reader

Depending on your intention of reading this document, you might be more interested in the following chapters:

  • If you are completely new to Quarkus, you may be interested in the pros and cons of Quarkus. Also, take a look at the official Quarkus website. You might also be interested in the features that GraalVM offers.

  • If you are new to devon4j, take a look at devon4j’s recommendations on general best practices. Check out the chapters on architecture design, project structuring, and coding conventions. Follow the referenced links to explore a topic in more depth.

  • If you are an experienced Spring developer and want to get in touch with Quarkus, read our Getting started with Quarkus for Spring developers guide.

  • If you’re looking to build your first Quarkus application, the Quarkus website offers some good getting started guides. Also, check out our Quarkus template guide, which gives you some recommendations on extensions and frameworks to use. It also provides some links to the Quarkus code generator with preselected configurations you can use to create your application.

  • If you want to have a Quarkus sample application using devon4j recommendations, check out our Quarkus reference application.

  • If you have a Spring application and want to migrate it to Quarkus, take a look at our migration guide.

  • If you already have some experience with devon4j and Quarkus and need more information on a specific topic, check out our Quarkus guides. If you don’t find what you are looking for there, check out the general section. devon4j uses general solutions for Java, so solutions for both Quarkus and Spring are documented there.

  • If you want to learn how to build native images, check out this guide.

Pros

Quarkus offers the following benefits:

  • fast turn-around cycles for developers
    Save changes in your Java code and immediately test the results without restarting or waiting

  • faster start-up and less memory footprint
    When building your app as native-images via GraalVM, it gets highly optimized. As a result, it starts up lightning fast and consumes much less memory. This is a great advantage for cloud deployment as well as for sustainability. You can find a performance comparison between Spring and Quarkus here.

  • clean and lean As quarkus was born as a cloud-native framework, it is very light-weight and does not carry much history and legacy.

Cons

Quarkus has the following drawbacks:

  • less flexible
    Quarkus is less flexible compared to spring, or in other words, it is more biased and coupled to specific implementations. However, the implementations work and you have less things to choose and worry about. However, in case you want to integrate a specific or custom library, you may hit limitations or lose support for native-images, especially when that library is based on reflection. Therefore, check your requirements and technology stack early on when making your choice.

  • less established
    Since quarkus was born in 2019, it is modern but also less established. It will be easier to get developers for spring, but we already consider quarkus mature and established enough for building production-ready apps.

Clone this wiki locally