Skip to main content

Rapport 2018 sur l’écosystème JVM : vos outils

Écrit par
Headshot of Andrew Binstock

Andrew Binstock

About your Tools

17 octobre 2018

0 minutes de lecture

Bienvenue 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 :

  1. Rapport 2018 sur l’écosystème JVM : votre JDK

  2. Rapport 2018 sur l’écosystème JVM : vos outils

  3. Rapport 2018 sur l’écosystème JVM : votre plateforme et votre application

  4. Rapport 2018 sur l’écosystème JVM : vos processus et vous

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).

Diagramme à barres comparant la popularité des IDE : IntelliJ IDEA 45 %, Eclipse IDE 38 %, Apache NetBeans 11 %, Vi/Vim/Emacs 3 %, Visual Studio Code 1 %, Oracle JDeveloper 1 %.

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.

Graphique à barres montrant la popularité des outils de build : Maven 60 %, Gradle 19 %, Ant 11 %, autres 4 % et aucun 6 %.

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.

Diagramme à barres horizontales comparant les outils d’analyse statique : SonarQube 39 %, Findbugs 27 %, Checkstyle 23 %, PMD 15 % et autres.

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é.

Diagramme en anneau indiquant que 72 % n’utilisent pas d’outil de sécurité et que 28 % en utilisent un.

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.

Graphique à barres horizontales montrant l’utilisation des outils CI : Jenkins 57 %, aucun 21 %, Bamboo et autres 5 % chacun, TeamCity 4 %, et les autres outils 1 à 2 %.

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.

Diagramme en anneau présentant la popularité des outils de gestion du code source : Git 74 %, Subversion 16 %, autres 7 % et aucun 3%.

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 ».

Diagramme en anneau présentant les plateformes de dépôts de code : GitHub 25 %, Bitbucket 25 %, GitLab 20 %, aucune 18 % et autres 12 %.

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.

Diagramme en anneau indiquant Nexus : 33 %, Artifactory : 22 %, Autres : 7 % et Aucun : 38 %

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é.

Graphique à barres horizontal montrant la popularité des outils de test : JUnit 78 %, Mockito 45 %, Selenium 29 %, JMeter 22 % et les autres outils à 11 % ou moins.

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 ?

  1. Rapport 2018 sur l’écosystème JVM : votre JDK

  2. Rapport 2018 sur l’écosystème JVM : vos outils

  3. Rapport 2018 sur l’écosystème JVM : votre plateforme et votre application

  4. Rapport 2018 sur l’écosystème JVM : vos processus et vous

TÉLÉCHARGEZ LE RAPPORT 2018 SUR L’ÉCOSYSTÈME JVM !