Quarkus est un framework Java open source conçu par RedHat pour créer des applications cloud native, et pour fonctionner dans un environnement Kubernetes. Il vise à simplifier le développement d'applications Java en offrant un temps de démarrage ultra-rapide et une utilisation minimale de ressources.
Les avantages
Il présente plusieurs avantages notables, pour en citer seulement quelques-uns :
Temps de démarrage ultra-rapide : grâce à l'utilisation de GraalVM, Quarkus peut démarrer en moins de 100ms.
Utilisation minimale de ressources : il utilise très peu de mémoire et de CPU, ce qui le rend idéal pour les environnements cloud si on veut utiliser Java bien sûr.
Ce framework nous génère directement un jar exécutable, qui contient uniquement les dépendances nécessaires à son fonctionnement.
Intégration native avec Kubernetes : il est conçu pour fonctionner nativement avec Kubernetes et profiter de ses avantages.
Support de GraalVM : il est optimisé pour fonctionner avec GraalVM, ce qui permet de bénéficier de performances supplémentaires.
Live coding : avec le mode Quarkus:dev, vos changements dans votre code sont appliqués en temps réel, ce qui réduit drastiquement le temps de développement à long terme.
Pour illustrer la simplicité du code, voici un petit exemple Rest :
Les inconvénients
Évidemment ce petit bijou comporte aussi quelques inconvénients :
C'est un framework relativement nouveau donc la documentation peut être limitée à certaines parties.
Quand on va sur les plateformes les plus connues comme Stackoverflow par exemple, on ne trouve pas toujours notre bonheur mais la communauté est en train de grandir doucement mais sûrement.
Si vous êtes développeur Java, il est impossible de passer à côté du géant Spring Boot, cela mérite un petit comparatif entre les deux.
En comparaison avec Spring Boot, Quarkus a un temps de démarrage ultra-rapide et une utilisation minimale de ressources, mais manque de documentations et de bibliothèques tierces.
Spring Boot, en revanche, est un framework mature avec une grande communauté de développeurs et une abondance de documentation et de bibliothèques tierces disponibles. Cependant, il a un temps de démarrage plus lent et une utilisation de ressources plus élevée que Quarkus.
En conclusion, le choix entre Quarkus et Spring Boot dépend des besoins et des exigences de l'application.
Sources :
Site web officiel : https://quarkus.io/
Guide de démarrage rapide : https://quarkus.io/guides/getting-started-guide
Référentiel de documentation : https://quarkus.io/documentation/
À lire aussi : https://www.invivoo.com/blog/specifications-spring-data-jpa/