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 système qui permet de stocker et d’utiliser des ressources (comme des fichiers ou des applications) sur Internet, au lieu de les avoir sur sa machine personnelle.
Cloud Native : Cela désigne des applications ou des systèmes conçus spécialement pour fonctionner dans le cloud sans dépendre de l’infrastructure locale.
Jakarta EE (anciennement Java EE) : C’est un ensemble de technologies qui aide les développeurs à créer des applications web ou d’entreprise avec Java. Cet ensemble permet la gestion des tâches courantes comme la gestion des bases de données ou la sécurité. C’est plus puissant et complet que Java SE.
Kubernetes : C’est un outil qui permet de gérer des applications qui sont réparties sur plusieurs serveurs et aide à déployer, surveiller, et scaler (augmenter ou diminuer les ressources) des applications facilement.
Architecture Hybrid : C’est un type d’architecture informatique qui combine des ressources locales (sur site) et des ressources dans le cloud. Par exemple, une entreprise peut garder certaines données sur ses serveurs et d’autres dans le cloud, selon les besoins.
Architecture Microservices : Cela consiste à créer une application en plusieurs petites parties (appelées microservices), chacune effectuant une tâche spécifique. Ces petites parties peuvent être développées, mises à jour et déployées indépendamment des autres.
Architecture Monolith : C’est une structure où toute l’application est développée et déployée comme un seul bloc. Tous les composants de l’application sont imbriqués les uns dans les autres.