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 J
Companies 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 :
- autocompletion on
application.properties
as Spring-Boot's plugin does
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) :
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
- api-transitaires : first app
- colisnc-api : first migration from Springboot done within 1h30 ⏱
📑 #jfokus2022 : Quarkus [...] back from the Future
adriens for opt-nc ・ Jul 12 '22
Cheers 🍻
Top comments (7)
Some cool event in the pipe:
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 🤩.
AH AH yes @lschaeffer313 , there are some really cool contents coming from @mbarre
For knative, you have these two nice contents :
and
@dougniel : can you create a series Called Quarkus ?
FYI @dougniel if you have any question :