Developpez.com - Rubrique Java Web

Le Club des Développeurs et IT Pro

Réduire l'empreinte serveur d'une API REST en JAVA en la compilant en code natif avec Quarkus

Un tutoriel de François-Xavier Robin

Le 2020-05-05 20:30:16, par Mickael Baron, Rédacteur
Bonjour,

François-Xavier Robin nous propose un tutoriel sur l'utilisation de Quarkus pour réduire l'empreinte serveur d'une API REST en JAVA en la compilant en code natif.

Pour consulter le tutoriel : https://fxrobin.developpez.com/tutor...raalvm-docker/

N'hésitez pas à laisser des commentaires à la suite.

Mickael BARON pour l'équipe Java de Developpez.com

Retrouver les meilleurs cours et tutoriels pour apprendre la programmation en Java

Retrouver les meilleurs cours et tutoriels pour apprendre la programmation Web avec Java
  Discussion forum
2 commentaires
  • sekaijin
    Expert éminent
    Bonne Introduction dans l'ensemble

    Mais je pense qu'il aurait été préférable de ne pas introduire d'autres librairies, afin de permettre au lecteur de voir Quarkus et d'en apprendre le périmètre.

    Pour un exemple aussi simple devoir écrire quelque getter et setter pour ne pas embarquer Lombok ne demandait pas un gros effort.

    Pour Spring je trouve le choix beaucoup plus discutable. Pourquoi importer Spring JPA alors que quarkus fait quelque chose d'équivalent nativement.
    C'est trompeur. En lisant l'article on pourrait se dire que quarkus ne propose rien pour JPA et qu'on est donc obligé d'utiliser une librairie externe.
    Il en est rien puisque tout ce qui est utilisé de Spring-JPA dans l'exemple est fait nativement par Quarkus. Il suffit d'importer quarkus-panache.

    A+JYT
    PS: pour information je rappelle que lombok se base pour le processing de ses annotations sur un "hack" du JDK. Il va inspecter quel compilateur est utilisé, et surcharger des classes privée du JDK à fin d'injecter son code dans la classe parsée. Java ne permet pas de modifier la classe en cours de compilation mais d'en générer une nouvelle. La possibilité d'injecter du code dans la classe est dans le pipe des évolution de java mais n'est pas dans le jdk à ce jour. Cela n'empêche pas lombok de faire un excellent travail, mais c'est une fragilité, et une difficulté pour les outils qui tel quarkus.
  • fxrobin
    Membre chevronné
    Bonjour sekaijin,

    je suis d'accord avec ta vision sur Spring Data.
    J'ai longuement hésité à rajouter cette couche à la place de Quarkus-Panache.

    Ce qui m'a décidé : montrer que Quarkus n'était un monde "fermé" et que l'on pouvait ajouter des libs sans problème.
    De plus Spring Data JPA est "supporté" et documenté par Quarkus, même si c'est qu'en preview : https://quarkus.io/guides/spring-data-jpa

    Quant à Lombok, je suis d'accord avec toi quant à sa "fragilité", mais je ne peux plus m'en passer :-)

    Merci pour le partage de ton avis.
    F.X.