2 Your first Quarkus application

 

This chapter covers

  • Creating Quarkus applications
  • Analyzing the content of Quarkus applications
  • Demonstrating the packaging and running of Quarkus
  • Explaining Quarkus extensions

Imagine being asked to evaluate Quarkus for your current company. Your boss asks you to get acquainted with the tools required to run and package Quarkus applications, different strategies for easing the learning curve for your colleagues, and, of course, a small performance measurement that can prove that Quarkus is the right choice. You should evaluate the extensibility and usability of the Quarkus by demonstrating a simple application deployment on your computer and be able to state the reasons why you would choose Quarkus as your application runtime.

Any first contact with every new technology represents an interesting experience—either positive or negative. After the previous chapter, you should have a good idea of what Quarkus is and what it aims to achieve. Now it’s time to get our hands dirty.

2.1 Generating Quarkus applications

2.1.1 Generating Quarkus applications with Maven

2.1.2 Generating Quarkus applications with CLI

2.1.3 Generating Quarkus applications from code.quarkus.io

2.1.4 code.quarkus.io REST API

2.2 Contents of the generated application

2.2.1 Maven pom.xml file

2.2.2 Generated code and resources

2.3 Running the Quarkus Application

2.4 Native compilation with GraalVM

2.4.1 GraalVM

2.4.2 How does the native execution compare to JVM execution?

2.4.3 GraalVM distributions

2.4.4 Packaging Quarkus as a native executable

2.4.5 Native executable with a container build

2.5 Unequaled performance

2.5.1 When to use JVM and when to compile to native

2.6 Building container images with Quarkus

2.7 Extensions

2.7.1 What is an extension?

2.7.2 Native compilations and build-time processing

2.7.3 Working with Quarkus extensions