Table des matières
ToggleINTRODUCTION
Le rapport Jakarta EE publié en octobre 2024 est basé sur un sondage réalisé entre le 19 mars et le 31 mai 2024, avec la participation de 1409 développeurs. Cette étude se concentre sur les tendances de l’écosystème Java, en particulier dans le domaine du cloud native. Elle vise à aider les acteurs de l’écosystème Java à mieux comprendre les besoins et les priorités des développeurs d’entreprise, et comment ces technologies façonnent l’avenir des applications dans le cloud.
L’enquête analyse en particulier des technologies comme Jakarta EE, Spring/Spring Boot et MicroProfile, en montrant leur utilisation sur le marché, souvent de manière indépendante, même si ces dernières s’appuient parfois sur Jakarta EE. Les résultats donnent un aperçu des stratégies de développement pour les applications cloud natives.
EXPLICATIONS DU RAPPORT
Le développement de Java dans le domaine du cloud native est en pleine évolution. Aujourd’hui, Jakarta EE, la version entreprise de Java, joue un rôle majeur dans la création d’applications cloud natives. Si Spring/Spring Boot reste encore le framework Java le plus utilisé, Jakarta EE gagne progressivement du terrain, avec une adoption en forte croissance. Une majorité des répondants ont déjà migré ou prévoient de migrer vers Jakarta EE, dont l’adoption de la version Jakarta EE 10 est favorisée. Cependant, beaucoup utilisent encore Java EE 8.
Le rapport met en lumière plusieurs priorités pour la communauté de développeurs Java, notamment un meilleur support pour Kubernetes et les microservices, qui restent des préoccupations majeures. Une autre priorité est l’adaptation des dernières innovations de Java SE dans Jakarta EE. Le support des tests est également un sujet de plus en plus important, montrant la volonté d’améliorer la qualité des applications cloud natives.
En ce qui concerne l’architecture des applications, le rapport souligne une tendance croissante vers des approches hybrides, qui combinent les avantages des architectures microservices et monolithiques. Cela montre que de plus en plus de développeurs cherchent des solutions flexibles pour répondre à la complexité des systèmes modernes.
Une autre donnée intéressante du sondage est l’évolution de l’adoption des différentes versions de Java. Java 17 connaît une forte utilisation. À l’inverse, l’utilisation de Java 8 baisse progressivement, ce qui est un signe positif pour la sécurité et la modernisation des projets Java. Enfin, Java 21 suscite déjà un intérêt notable, avec une adoption de 30 % auprès des répondants, soulignant l’engouement pour les nouvelles fonctionnalités et améliorations proposées par cette version.
Le passage à des versions récentes de Java et l’adoption croissante de Jakarta EE montrent que l’écosystème Java évolue dans une direction positive, alignée avec les besoins actuels du développement cloud. Cette transition vers des versions modernes est cruciale pour améliorer la sécurité, la performance et l’innovation dans les projets Java.
GLOSSAIRE
Cloud : C’est un outil de stockage de données à distance (où l’on peut retrouver des applications, des documents, …) via l’utilisation d’Internet.
Cloud Native : Il s’agit d’une approche de développement d’applications spécifiquement conçue pour tirer parti des environnements cloud, souvent avec des microservices, des conteneurs et de l’automatisation.
Jakarta EE (anciennement Java EE) : C’est un ensemble d’API Java pour le développement d’applications d’entreprise.
Kubernetes : Un système open-source utilisé pour automatiser le déploiement, la gestion et l’évolutivité des applications conteneurisées (souvent dans le cloud).
Architecture Hybrid : C’est une approche qui combine des infrastructures locales (on-premise) et des services cloud, permettant de gérer les applications entre ces deux environnements.
Architecture Microservices : Cela désigne une architecture où l’application est composée de petites unités indépendantes, appelées microservices, qui communiquent entre elles via des API.
Architecture Monolith : Contrairement aux microservices, c’est une architecture où l’application est construite comme un tout indivisible, ce qui rend sa gestion et son évolution plus complexes à grande échelle.