Rapport 2018 sur l’écosystème JVM : vos outils
Andrew Binstock
17 octobre 2018
0 minutes de lectureBienvenue dans la plus vaste enquête jamais menée auprès des développeurs Java. Les données présentées dans ce rapport proviennent de plus de 10 200 questionnaires. Si vous avez participé à l’enquête, un grand merci d’avoir pris le temps de partager votre expérience au bénéfice des autres. Ce rapport se compose de quatre articles :
Rapport 2018 sur l’écosystème JVM : vos outils
Rapport 2018 sur l’écosystème JVM : votre plateforme et votre application
Nous proposons également un superbe rapport PDF réalisé avec soin, qui rassemble toutes ces informations dans un document téléchargeable.
TÉLÉCHARGEZ LE RAPPORT 2018 SUR L’ÉCOSYSTÈME JVM !
Vos outils
6. Avec quel IDE développez-vous ?
Le graphique confirme les résultats d’autres enquêtes récentes : IntelliJ a dépassé Eclipse au cours des un à deux dernières années, tandis qu’Apache NetBeans conserve environ 10 % du marché. Sur les 45 % de votes obtenus par IntelliJ, 32 % reviennent à IntelliJ IDEA Ultimate Edition (la version payante), 11 % à IntelliJ Community Edition (la version gratuite) et 2 % aux utilisateurs d’Android Studio. La catégorie Eclipse inclut Eclipse STS, JBoss Tools, Rational Application Developer et d’autres outils basés sur Eclipse. Le nombre d’utilisateurs d’Apache NetBeans a peu évolué, ce qui laisse penser que le passage d’Oracle à l’Apache Software Foundation n’a pas affecté sa base d’utilisateurs. Signalons également l’apparition de Visual Studio Code : même si sa part n’est que de 1 %, il commence à se faire une place dans la communauté Java. Et saluons au passage le groupe « vi/vim/emacs/etc. », qui lit probablement ce rapport sur une tablette (gravée dans la pierre).

7. Quel outil de build utilisez-vous pour votre projet principal ?
En examinant les chiffres, il est important de noter que nous avons demandé quel était l’outil de build _principal_ utilisé. Nous voulons savoir sur quel outil de build vous vous appuyez pour votre projet principal. Il peut également être intéressant de connaître les outils de build utilisés par les équipes dans l’ensemble de leurs projets, mais la multitude des réponses tend à réduire l’utilité des résultats. Comme on le voit ici, Maven domine clairement, avec un rapport de 3 pour 1 sur son plus proche concurrent, Gradle. Un développeur sur dix utilise encore Ant, tandis qu’un sur vingt n’utilise aucun outil ! Dans une enquête similaire menée en 2016 par RebelLabs (2 000 répondants), Maven obtenait 68 % et Gradle 16 %. La progression de Gradle tient peut-être à l’ajout de la prise en charge de Kotlin comme langage de script. Gradle est également le moteur de build par défaut des projets Android. Cependant, sa progression face à Maven reste lente.

8. Quels outils d’analyse statique utilisez-vous ?
Avant d’envoyer un e-mail ou un tweet pour tenter de corriger Internet, notez qu’il s’agit d’une question à choix multiples : le total des chiffres ne fait donc pas 100 %. L’un des enseignements de ces données est qu’il n’existe en réalité qu’une poignée d’outils d’analyse statique largement utilisés, sans grande surprise en tête : SonarQube, Findbugs et Checkstyle dominent. Le plus étonnant est peut-être que 36 % des répondants n’utilisent aucun outil d’analyse statique. C’est d’autant plus surprenant que nous pensions que ces outils étaient la norme.

9. Utilisez-vous des outils de sécurité statique dans vos tests ?
Les tests de sécurité sont un sujet de plus en plus brûlant, mis en lumière par d’importantes violations touchant de nombreuses entreprises. Pourtant, aujourd’hui encore, la plupart des sites n’utilisent aucun outil d’analyse statique de sécurité. En fait, 72 % des répondants, soit près des trois quarts, n’utilisent aucun outil statique dans leur pipeline, ce qui peut les exposer à des vulnérabilités connues. Nous espérons que les prochaines enquêtes montreront une adoption plus large des outils de sécurité.

10. Quel serveur CI utilisez-vous ?
Comme la plupart des développeurs s’y attendraient, Jenkins remporte la course des serveurs CI avec une part de marché impressionnante de 57 %. Son concurrent le plus proche est « aucun », avec 21 % des votes, presque autant que l’ensemble des autres concurrents (22 %). Les autres serveurs CI représentent chacun moins de 5 % du marché, tandis que Hudson, le vénérable parent de Jenkins, résiste avec 2 %. Il convient de mentionner VSTS, Microsoft VSTS (Visual Studio Team Server), qui n’est généralement pas associé à l’écosystème Java/JVM, mais atteint tout de même 2 %. Nous pensons que la plupart des développeurs s’attendent à ce que presque tous les sites utilisent aujourd’hui l’intégration continue. Il est donc surprenant de constater qu’une application sur cinq n’en utilise pas du tout. Même les projets personnels ont désormais recours à la CI (avec des solutions comme Travis CI et CircleCI), proposées sur des plateformes publiques d’hébergement de projets comme Bitbucket et GitHub. Si vous faites partie des 21 % qui n’utilisent pas la CI dans leurs projets, nous aimerions savoir pourquoi.

11. Quelle plateforme de gestion du code source votre équipe utilise-t-elle pour son projet principal ?
Comme prévu, Git a largement remporté la course à la gestion du code source. Si vous doutiez de l’ampleur de sa domination, sachez que près de trois répondants sur quatre travaillent dans des équipes qui utilisent Git pour gérer leurs bases de code. Subversion regroupe désormais la majorité des autres répondants ; et, d’une manière ou d’une autre, en 2018, 3 % des personnes n’utilisent toujours aucun outil de gestion du code source. Parfois, les mots nous manquent.

12. Quel dépôt de code utilisez-vous pour votre projet principal ?
Pour les dépôts de code, la situation est bien différente de celle de la gestion du code source : le marché est beaucoup plus fragmenté, GitHub et Bitbucket étant au coude-à-coude avec 25 % chacun, suivis de près par GitLab à 20 %. On peut parler des « trois grands » de l’hébergement de projets. Notez que cette question ne concerne pas seulement les projets publics (où nous nous attendrions à une avance plus nette de GitHub), mais l’hébergement de projets publics et privés. La récente acquisition de GitHub par Microsoft pourrait influer sur son adoption à l’avenir ; les prochaines enquêtes nous en diront davantage. Parmi les 25 % de parts obtenues par GitHub, un peu plus de la moitié des répondants (52 %) utilisent la version publique, tandis que les autres (48 %) utilisent l’offre GitHub Enterprise privée, hébergée sur site. VSTS représente 2 % de la catégorie « autres ».

13. Quel dépôt privé de fichiers binaires/artéfacts utilisez-vous ?
La plupart des sites n’utilisent pas de dépôt d’artéfacts empaquetés — en théorie, parce qu’ils n’en ont pas besoin. Ceux qui apprécient la commodité qu’il offre choisissent Nexus, une solution bien établie et fortement axée sur l’écosystème JVM, suivi d’Artifactory de JFrog, un peu plus répandu dans les écosystèmes polyglottes.

14. Quelles technologies de test utilisez-vous ?
Avec près de quatre personnes sur cinq qui utilisent JUnit, et TestNG utilisé par 10 % de plus, il est clair que les tests unitaires sont de loin la pratique de test dominante dans l’écosystème JVM. (Les répondants pouvaient choisir plusieurs réponses : le total dépasse donc 100 %.) Côté mocking, Mockito s’est clairement imposé comme le framework de prédilection. JMeter est utilisé par près d’un répondant sur quatre et Gatling par 5 % : le besoin de tests de performance semble donc de mieux en mieux reconnu. Selenium atteint un impressionnant 29 %. Contrairement aux résultats concernant les outils d’analyse statique, seuls 10 % des répondants déclarent n’utiliser aucun outil de test. Attendez… une personne sur dix n’utilise aucun outil de test ?! Mieux vaut passer à la suite avant de perdre foi en l’humanité.

En résumé : les outils
9 développeurs sur 20 utilisent désormais IntelliJ IDEA
6 développeurs sur 10 utilisent Maven pour builder leur projet principal
Plus de 7 développeurs sur 10 n’utilisent toujours pas d’outils de sécurité statique
Près de 6 développeurs sur 10 utilisent Jenkins pour la CI
Près de 3 développeurs sur 4 utilisent Git comme outil de gestion du code source
GitHub, BitBucket et GitLab se partagent presque à égalité le marché des dépôts de code
Près de 8 développeurs sur 10 utilisent JUnit
Ce rapport ne s’arrête pas là ! Quelle partie souhaitez-vous lire ensuite ?
Rapport 2018 sur l’écosystème JVM : vos outils
Rapport 2018 sur l’écosystème JVM : votre plateforme et votre application
