
Learn about the course, its structure, who can attend it, what are the goals and what are the prerequisites.
Lean about the application you will be building in this course.
This section is about understanding what is Quarkus.
This section is about making sure your environment is correctly setup so we can bootstrap the application.
Check and configure your development environment for Quarkus by installing Java 11, GraalVM, Maven, and Docker, and set up the pom.xml with the Quarkus BOM for native images and Docker.
Experience developer joy with Quarkus through hot reload in development mode, unified configuration in application.properties, seamless integrated development environment debugging, and fast testing on ports 8080 and 8081.
This section is about adding some code to the generated application.
Refactor your Quarkus app by injecting a bean and a repository with application scope, log messages, and test via curl, while leveraging hot reload for seamless updates.
Discover how a Quarkus app uses a book repository and endpoint to enforce separation of concerns, using JAX-RS, CDI, and JSON-B.
This section is about testing the application we've developed.
Demonstrates testing the book REST endpoint in Quarkus with RestAssured and JUnit, validating all books, count endpoint, and a single-book response with JSON field checks.
Explore configuring your Quarkus project with profiles for development, testing, and production, building on existing Java class tests and preparing for native tests.
This section is about configuration the application and configuring Quarkus its self.
Inject configuration into your Quarkus app using MicroProfile configuration, injecting values with ConfigProperty annotations from application properties or overrides from command line, environment variables, or databases, with ConfigSource and converters.
Quarkus offers extensive configurability via application.properties, including listening ports and log level, with overrides for extensions. Explore config on quarkus.io, adjust banner, and set logging for io.quarkus and org.dot agoncal.
This section is about package the application into executable JARs as well as generating a native binary with GraalVM.
Build native executables with GraalVM, producing small binaries that bundle the JVM and include only the code you use, via Maven package -P native to create the binary.
Explore building native executables with Quarkus using GraalVM, replacing Uber-JAR with a native binary, achieving startup in 0.02 seconds and a 31 MB executable.
Run native tests against Quarkus native binaries to validate compatibility with GraalVM optimizations. Extend JVM tests for native mode and execute them via maven verify with the native profile.
This section is about generating a Linux native binary and package it into a Docker image and execute it.
Enable the docker extension, containerize a jar via the quarkus maven plugin, update pom.xml, run mvn package build=true, and start docker to expose port 8080.
Create a linux native executable from a Quarkus project and containerize it with Docker using a Dockerfile.native, then run and compare native and JVM images.
Build and run a Linux native executable with Quarkus by packaging as native, tagging the image, and running a dockerized native binary that works on Linux via ubi.
This section is about quickly revisiting all the steps you've taken to build the application from bootstrapping to deploying.
Receive guidance on next steps and access external references to deepen your Quarkus knowledge. Review the instructor's own books on Quarkus and articles to help you complete the course.
External pointers for your next steps in learning Quarkus.
External pointers about what I've written and done about Quarkus.
I hope you've enjoyed taking this course. Bye ;o)
This course is for Java developers who want to discover Quarkus. It’s a mixture of slides and code so you can “Understand and Practice” at the same time. This way, you learn the theory, and then put it into practice by developing an application step by step.
In this course you will go through an entire development cycle. After introducing Quarkus, you will make sure your development environment is set up, and you will go from bootstrapping a Quarkus application, to running it as a Docker container. The different steps you’ll go through are:
Understand Quarkus,
Check your development environment,
Get your hands on Quarkus,
Expose a REST endpoint using JAX-RS,
Inject beans with CDI,
Test the REST endpoint with JUnit and RESTAssured,
Configure the application with MicroProfile Configuration
Configure Quarkus,
Add profiles to the configuration,
Build executable JARs
Build a native executable and a Linux executable with GraalVM,
Check the performances of a Quarkus application,
Containerize the application with Docker and execute it.
At the end of the course you’ll get a good understanding of Quarkus. You will be able to bootstrap, develop, package and execute a REST application, but most important, take Quarkus to your next project.
Good luck for the course, and please reach out if you need any help or if you have any request: I’m here to help!