ELEPHANT technologies, l’ESN locale et à taille humaine spécialisée sur 2 métiers : le développement et le pilotage autour de 4 expertises : hardware, embarqué, software et web

  

Et aujourd'hui retrouvez Robert notre elephantech développeur fullstack (java, angular) qui nous parle de la découverte du Framework Quartus. 

  

 

Let’s go ! 

 

 

Et si on partait à la découverte de Quarkus ? 

 

De l’anglais « quark », particule élémentaire et « us », la chose la plus difficile en informatique, le Framework Quarkus est né de l’étude R&D de Red Hat. La première version officielle (1.0.0.Final) est sortie en novembre 2019. Aujourd’hui, la dernière version en date est la 2.9.2.Final, depuis le 25 Mai 2022.  

 

Quarkus est un Framework java natif pour Kubernetes complet, conçu pour les machines virtuelles Java (JVM) et la compilation native. Il permet d'optimiser Java spécifiquement pour les conteneurs afin d'en faire une plateforme efficace pour les environnements serverless, cloud et Kubernetes

 

Ce Framwork a été conçu pour fonctionner avec les normes, Framework et bibliothèques Java les plus utilisés, tels que Apache Kafka, JAX-RS, Hibernate ORM (JPA), Spring et bien d'autres. La solution d'injection de dépendances de Quarkus utilise la spécification CDI1 (Contexts and Dependency Injection).  

 

Quarkus permet aussi la compilation native de vos applications avec GraalVM (une machine virtuelle universelle qui exécute des applications rédigées dans de nombreux langages, y compris Java et JavaScript). 

 

 

 

Solution conçue pour faciliter la tâche des développeurs 

 

Quarkus a été conçu pour les développeurs afin de faciliter le développement des applications java avec des fonctions qui nécessitent peu de configuration. Ce Framework inclut des fonctionnalités intégrées pour automatiser les tâches répétitives, et permet d’apporter un gain de productivité aux équipes de développement et est directement utilisable quel que soit l’IDE. 

 

Les développeurs peuvent choisir les Frameworks Java pour leurs applications, qui peuvent être exécutées en mode JVM ou compilées, puis exécutées en mode natif. 

 

La fonctionnalité de « Live Coding » permet d’adopter le workflow « write code – refresh-browser-repeat ». Cette fonctionnalité offre un gain de productivité aux développeurs et est offerte par Quarkus via la commande quarkus:dev. Il faut rappeler que dans les phases de développements des applications java (spring boot), les développeurs adoptent traditionnellement le workflow « write code – compile - deploy  - refresh – brower - repeat ». Quarkus permet aux développeurs de gagner en productivité au regard de la fonctionnalité « live coding »

 

Conçu pour simplifier la tâche des développeurs, Quarkus inclut également les fonctions suivantes : 

⇒ L’unification de la programmation impérative et réactive avec un bus d'événements géré intégré 

⇒ Génération native et facile d'exécutables 

 

 

 

Solution optimisée pour les conteneurs 

 

Qu'une application soit hébergée dans un cloud public ou dans un cluster Kubernetes au sein de l'entreprise, des caractéristiques telles que la rapidité du démarrage et la faible consommation de mémoire permettent de maintenir des coûts d'hôte bas

 

Ce Framwork a été conçu selon un modèle centré sur les conteneurs. Il consomme donc peu de mémoire et accélère le démarrage, notamment grâce aux points suivants : 

⇒ La prise en charge efficace de Graal/SubstrateVM 

⇒ Le traitement des métadonnées au moment de la création 

⇒ Le pré chargement d'image native 

 

Par rapport aux applications Java traditionnelles, les applications créées avec Quarkus consomment 10 fois moins de mémoire et démarrent plus rapidement (jusqu'à 300 fois plus vite), ce qui permet de réduire grandement le coût des ressources cloud. 

 

 

 

Code impératif et réactif 

 

Depuis des années, l’architecture Client-Serveur a été le standard pour créer des applications. De nos jours, de nouvelles architectures ont émergé et impactent la façon dont les applications sont codées, déployées et exécutées. Le Framework Quarkus associe de manière transparente la programmation impérative, bien connue des développeurs. C’est une approche réactive et non bloquante pour le développement des applications. 

 

Ainsi, il satisfait à la fois les développeurs Java habitués à travailler selon le modèle impératif et qui souhaitent le conserver, et les développeurs qui travaillent avec une approche cloud-native/réactive. Le modèle de développement de Quarkus s'adapte à l'application que vous développez. Quarkus est donc une solution efficace pour exécuter Java à l'ère des architectures serverless, des microservices, des conteneurs, de Kubernetes et du cloud, puisqu'elle a été conçue en tenant compte de tous ces éléments. 

 

 

Quarkus est-il l’avenir de Java ?

Seul le temps pourra nous dire.  Pour l’instant la compilation native reste une technologie nouvelle et non-maîtrisée par les développeurs.  

 

 


🐘 Nous remercions Robert pour son article et si vous souhaitez en découvrir d'autres c'est par ici : https://www.elephant-technologies.fr/les-actualites?news_category_filter%5Bcategory%5D= 

 


Sources: 

https://quarkus.io/ 

https://www.redhat.com/fr/topics 

https://fr.wikipedia.org/wiki/Quarkus