DEV Community

Cover image for Finally, my first steps on Quarkus 🚀, as an Spring-boot developper
Daniel Santos for opt-nc

Posted on

5 2

Finally, my first steps on Quarkus 🚀, as an Spring-boot developper

Hi everyone 🙋🏻‍♂️,

We just started trying Quarkus 🙏

api-transitaires was the first, it's time to do some quick feedback now 📢

👉 First, I know that it's already a 3 years old framework (some npm libs don't live that long), but in some JCompanies the investissement to set up some Spring[-Boot] 🍃 developers has been challenging, so the replacement has to be valuable (or fin valab)

Why to move from Spring-Boot ?

We have a lot of Sping-Boot apps and we are going forward to k8s in serverless way, so we did some tests with Spring-Native.

It worked 👍, but not so smoothly because of Spring's long history 🏭 which led us to more recent alternatives like 👉 Quarkus.

Why this app ?

api-transitaires it's a very basic one-endpoint REST API that serves the list of freight forwarders that manage customs clearance on New-Caledonia 🇫🇷.

The main goal was to try Quarkus in a end to end way, in our GitHub CI : native app, Docker..

Ok, let's go now..

1# IDE integration 📝 - VSCode plugin

I used since almost 2 years VScode, I was happy to discover a Quarkus's plugin who does the job :

  • generate new project : like SprinBoot does 😉
  • launch and debug : ok, relies to mvn but it works most of the time 🙄.. sometimes it switched off without saying goodbye _(ex: after adding a Quarkus's extension). Otherwise, I don't like that they preferred to use a specific menu for that rather than VSCode's classic "run and debug" 😒

⭐️ What I appreciate :

  • faster code change / test cycle out-of-the box 📦 : do the change, switch to browser and the change is already applied (I experienced a refresh the browser twice cycle with Spring-boot Devtools)

☝️ Nice to have :

2# Coding a Rest API 👨🏻‍💻 - the standard way

While Spring has chosen to make its own annotations (almost a copy of the standard), with Quarkus we go back to the Java standard's ones. Ok, JSR's are not so fancy 🌈, but less intrusive 🐙.

3# Docs 📖 - self sufficient 👍

No need to rely on other documentations to do basic things, Quarkus's guides are in my opinion succinct, practical (getting started style) and well referenced from google 🤓.. 1st result is the official one !

Game changing after years of Spring's empty shell getting started guides or JavaDoc style reference documentation 😵‍💫

👉 I used :

4# Fast 🏃💨 - minimum included

  • Lighter & faster, some fresh metrics from a recent migration from Spring-Boot (colisnc-api) :

    • startup time: from 1s8 to 0.5s (is native really needed with Quarkus ? 🤔)
    • CI native build : from 14min to 5min
    • Docker Native image size : from 40Mo to 30Mo
  • Minimum included : it's a philosophy and I like it ❤️ (even the yaml configuration is not included : an extension is needed)

5# Native ⚡️ - the way is paved 🛣

  • It seems that it's was on the Quarkus cookbook since the beginning, not added at the end : Spring Native is still in experimentation.
  • Light by default : some basic things are not provided by default like SSL protocol support, but it's easy to do quarkus.ssl.native=true

6# Monitoring / dev tooling - Side dishes 🥗

  • less than actuator, but enough in my mind : health, Swagger
  • Nice to have online web dev that gives some basic but useful metrics (as others do since a while, like Symfony 😉)

Resources

Cheers 🍻

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (7)

Collapse
 
adriens profile image
adriens
Collapse
 
adriens profile image
adriens

Some cool event in the pipe:

Collapse
 
lschaeffer313 profile image
Laurent Schaeffer

Thank you for your feedback, i think quarkus will be a great tool to use in many project (like with knative 😉).
Can’t wait to see the next project you’ll do in quarkus 🤩.

Collapse
 
adriens profile image
adriens

AH AH yes @lschaeffer313 , there are some really cool contents coming from @mbarre

For knative, you have these two nice contents :

and

Collapse
 
adriens profile image
adriens

@dougniel : can you create a series Called Quarkus ?

Collapse
 
adriens profile image
adriens

FYI @dougniel if you have any question :

Collapse
 
adriens profile image
adriens

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay