Quarkus Code Generator is provides many alternative technologies and libraries that can be integrated into a project. Detailed guides on multiple topics can be found here.
Due to the large selection, getting started can be difficult for developers. In this guide we aim to provide a general suggestion on basic frameworks, libraries, and technologies to make it easy for developers to begin with.
With that said, please take this as a recommendation and not as a compulsion. Depending on your project requirements, you might have to use another stack compared to what is listed below.
If you are new to Quarkus, consider checking out their getting started guide to get an overview of how to create, run, test, as well as package a Quarkus application. Another recommended source to get started is the Katacoda tutorials.
-
simple REST API (go to code.quarkus.io)
-
simple REST API with monitoring (go to code.quarkus.io)
Topic | Detail | Suggested implementation | Note |
---|---|---|---|
runtime |
servlet-container |
Undertow |
|
component management |
dependency injection |
ArC |
ArC is based on JSR 365. It also provides interceptors that can be used to implement the same functionality as AOP provides |
configuration |
SmallRye Config is an implementation of Eclipse MicroProfile Config. It also supports YAML configuration files |
||
persistence |
OR-mapper |
Hibernate ORM is the de facto standard JPA implementation and works perfectly in Quarkus. Quarkus also provides a compatibility layer for Spring Data JPA repositories in the form of the |
|
batch |
Quarkus JBeret Extension is a non-official extension, which is hosted in the Quarkiverse Hub. It is an implementation of JSR 352. |
||
service |
REST services |
RESTEasy is an portable implementation of the new JCP specification JAX-RS JSR-311. It can be documented via Swagger OpenAPI. |
|
async messaging |
SmallRye Reactive Messaging, Vert.x EventBus |
SmallRye Reactive Messaging is an implementation of the Eclipse MicroProfile Reactive Messaging specification 1.0. You can also utilize SmallRye Reactive Messaging in your Quarkus application to interact with Apache Kafka. |
|
marshalling |
RESTEasy Jackson, RESTEasy JSON-B, RESTEasy JAXB, RESTEasy Multipart |
||
cloud |
kubernetes |
Kubernetes |
|
deployment |
Minikube, k3d |
Minikube is quite popular when a Kubernetes cluster is needed for development purposes. Quarkus supports this with the |
|
logging |
framework |
Internally, Quarkus uses JBoss Log Manager and the JBoss Logging facade. Logs from other supported Logging API (JBoss Logging, SLF4J, Apache Commons Logging) will be merged. |
|
validation |
framework |
Hibernate Validator/Bean Validation (JSR 380) |
|
security |
authentication & authorization |
JWT authentication |
Quarkus supports various security mechanisms. Depending on your protocol, identity provider you can choose the necessary extensions such as |
monitoring |
framework |
SmallRye Metrics is an implementation of the MicroProfile Metrics specification. Quarkus also offers various extensions to customize the metrics. |
|
health |
SmallRye Health is an implementation of the MicroProfile Health specification. |
||
fault tolerance |
SmallRye Fault Tolerance is an implementation of the MicroProfile Fault Tolerance specification. |