How can you start contributing to Quarkus (an awesome release by Red Hat) ?

Saumya Singh
4 min readJan 28, 2021

Hello everyone!

In this blog, I will explain briefly What is Quarkus? , How you can get started with Quarkus? , What skills you need for contributing to Supersonic Subatomic Java- Quarkus?.

Quarkus

Let’s first understand, What is Quarkus ?

Quarkus is the latest addition to the Java world.

It’s a Cloud Native, container first framework for writing Java applications , initiated by Red Hat and is grabbing a lot of attention these days.

Java is one of the highly preferred programming language for developing softwares. However for many, java is not a suitable fit for building cloud native applications. Interestingly, with the introduction of Quarkus, that issue is also somewhat resolved.

It improves start-up times, execution costs, increases productivity.

The main objective behind Quarkus is to reduce the start-up time of applications and their memory footprint and also provide what is called as developer joy. To fulfill these objectives Quarkus offers the phenomena of Hot Reload and Native Compilation.

Source: Quarkus

Now that you know Quarkus is something very significant, let’s try to understand “How you can start contributing to it?”

Your contribution to Quarkus completely depends on your interest.

There are three broad categories in which you can jump in-

  • Documentation
  • Integration Test
  • Code

If you are not much into tech side, you can definitely filter the “Documentation” issues on quarkus repository.

Here is the link to some of the Good First Issue, that you would like to check.

You can start with some of the easy issues to make yourself comfortable with the complete Quarkus project.

On your machine, you need this setup -

Languages used in Quarkus-

Source — Quarkus

Take time and read the complete Contributing guide :)

Few extensions supported by Quarkus -

Some extensions supported by Quarkus

Below is the comparison stats for start-up time and memory footprint of Quarkus Vs others -

What was the first issue I picked in Quarkus?

I started with a `Good First Issue` to become familiar with Quarkus build and everything.

First issue I picked was of Documentation — https://github.com/quarkusio/quarkus/issues/12521

How to generate a sample application using Quarkus? (Quarkus App Development)

As developer, if you have been developing applications using spring-boot, jpa stack then its super-easy for you to migrate your existing apps to quarkus or else you can built it from scratch with same effort.

Quarkus has very nice guide for getting started.

Steps:

  • Go to https://code.quarkus.io/ and generate a sample application with a particular extension like resteasy-reactive.
  • Download the application and import it in your IDE
  • Start the application in “DEV mode”: mvn clean quarkus:dev
  • You can add REST endpoints and visit it at http://localhost:8080

To explain the complete process I have prepared a short video:

If you want to check-out how simple apps can be developed using quarkus, please feel free to fork my github repository and checkout two apps I have build using quarkus — one is Quarkus-App-Using-Qute using Qute extension and other Resteasy-reactive-and-Qute-Extension-in-Quarkus using resteasy reactive & qute extension. They are very simple apps to get familiar with Quarkus :)

Extra Resources

  1. Youtube Channel of Quarkus

2. Quarkus Blogs

3. Checkout Quarkus on Twitter for latest updates/release

I always prefer starting with easy and small tasks. Always test your work locally before making a PR and of course you can anytime ask for help from the Quarkus Developers on Zulip :)

Do clap 👏🏻👏🏻 and share the article if you like it. Thank you for giving your valuable time

--

--

Saumya Singh

GHCI Scholar | International Open Source Award Finalist👩‍🎓 ️| SIH Winner