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 🍻

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

While many AI coding tools operate as simple command-response systems, Qodo Gen 1.0 represents the next generation: autonomous, multi-step problem-solving agents that work alongside you.

Read full post

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 β€’

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post