Informe del ecosistema JVM 2018: tus herramientas
Andrew Binstock
17 de octubre de 2018
0 minutos de lecturaTe damos la bienvenida a la encuesta más grande que se ha realizado sobre desarrolladores de Java. Los datos de este informe se recopilaron a partir de más de 10,200 cuestionarios. Si participaste en la encuesta, muchas gracias por dedicar tu tiempo a compartir tu experiencia para beneficio de los demás. Este informe se divide en cuatro publicaciones:
Informe del ecosistema JVM 2018: tus herramientas
También tenemos un atractivo informe en PDF, elaborado artesanalmente, que reúne toda esta información en un solo archivo descargable.
¡DESCARGA EL INFORME DEL ECOSISTEMA JVM 2018!
Tus herramientas
6. ¿Con qué IDE desarrollas?
El gráfico coincide con otras encuestas recientes: IntelliJ superó a Eclipse en los últimos uno o dos años, y Apache NetBeans se mantiene con cerca del 10 % del mercado. Del total de votos de IntelliJ, que alcanza el 45 %, el 32 % corresponde a IntelliJ IDEA Ultimate Edition (la versión de pago), el 11 % a IntelliJ Community Edition (la versión gratuita) y el 2 % a usuarios de Android Studio. La categoría de Eclipse incluye Eclipse STS, JBoss Tools, Rational Application Developer y otras herramientas basadas en Eclipse. La cantidad de usuarios de Apache NetBeans no ha cambiado mucho, lo que sugiere que la migración de Oracle a Apache Software Foundation no afectó su base de usuarios. También vale la pena mencionar que Visual Studio Code aparece en la encuesta. Aunque representa solo el 1 %, demuestra que empieza a hacerse notar en la comunidad de Java. Y un saludo al grupo de «vi/vim/emacs/etc.», que probablemente esté leyendo este informe en una tableta (tallada en piedra).

7. ¿Qué herramienta de compilación usas en tu proyecto principal?
Al analizar las cifras, es importante tener en cuenta que preguntamos por la herramienta de compilación _principal_ que se usa. Queremos saber en qué herramienta de compilación confías para tu proyecto principal. También puede ser interesante saber qué herramientas de compilación usan los equipos en todos sus proyectos, pero la gran variedad de respuestas tiende a reducir la utilidad de los resultados. Como vemos aquí, Maven domina claramente, con una proporción de 3 a 1 frente a su rival más cercano, Gradle. Uno de cada diez desarrolladores aún usa Ant, mientras que uno de cada veinte no usa ninguna herramienta. En una versión de 2016 de una encuesta similar de RebelLabs (con 2,000 participantes), Maven alcanzó el 68 % y Gradle, el 16 %. La mayor adopción de Gradle quizá se deba a que ahora admite Kotlin como lenguaje de scripting. Gradle también es el motor de compilación predeterminado para los proyectos de Android. Sin embargo, su avance frente a Maven ha sido lento.

8. ¿Qué herramientas de análisis estático de calidad usas?
Antes de enviar ese correo o publicar ese tuit para intentar arreglar Internet, ten en cuenta que esta es una pregunta de selección múltiple, así que las cifras no suman 100 %. Una conclusión de estos datos es que solo hay unas pocas herramientas de análisis estático de calidad de uso generalizado, y las líderes no sorprenden: SonarQube, Findbugs y Checkstyle. Quizá lo más sorprendente sea que el 36 % de los participantes no usa ninguna herramienta de análisis estático de calidad. Esto llama la atención, ya que esperamos que estas herramientas sean la norma.

9. ¿Usas herramientas de seguridad estática en tus pruebas?
Las pruebas de seguridad son un tema cada vez más candente, impulsado por importantes brechas de seguridad en muchas empresas. Sin embargo, aún hoy la mayoría de los sitios no usa ninguna herramienta de seguridad estática. De hecho, el 72 % de los participantes —casi tres cuartas partes— no usa ninguna herramienta de análisis estático en su pipeline, lo que podría dejarlos expuestos a vulnerabilidades conocidas. Esperamos que en futuras encuestas se observe una mayor adopción de herramientas de seguridad.

10. ¿Qué servidor de CI usas?
Como la mayoría de los desarrolladores esperaría, Jenkins gana la carrera de los servidores de CI con una impresionante cuota de mercado del 57 %. Su competidor más cercano es «ninguno», con el 21 % de los votos, casi a la par de toda la competencia restante combinada (22 %). Los demás servidores de CI tienen menos del 5 % del mercado cada uno; Hudson, el pariente mayor de Jenkins, apenas alcanza el 2 %. También vale la pena mencionar VSTS (Microsoft VSTS, Visual Studio Team Server), que no suele asociarse con el entorno Java/JVM, pero obtiene un 2 %. Creemos que la mayoría de los desarrolladores espera que hoy casi todos los sitios usen integración continua. Por eso, sorprende ver que una de cada cinco aplicaciones no la usa en absoluto. Hoy hasta los proyectos personales usan CI (como Travis CI y CircleCI), disponibles en sitios públicos de alojamiento de proyectos como Bitbucket y GitHub. Si formas parte del 21 % que no usa CI en sus proyectos, nos encantaría saber por qué.

11. ¿Qué plataforma de administración de código fuente usa tu equipo para su proyecto principal?
Como era de esperar, Git ganó con claridad la carrera de la administración de código fuente. Si tenías dudas sobre el alcance de su dominio, casi 3 de cada 4 participantes trabajan en equipos que usan Git para administrar sus bases de código. Subversion cubre ahora a la mayoría de los participantes restantes y, de alguna manera, en 2018 todavía hay un 3 % de personas que no usa ningún sistema de administración de código fuente. A veces, no hay palabras.

12. ¿Qué repositorio de código usas para tu proyecto principal?
En cuanto a los repositorios de código, la situación es bastante distinta a la de los sistemas de administración de código fuente: está mucho más repartida, con GitHub y Bitbucket empatados con el 25 % cada uno, y GitLab muy cerca, con el 20 %. Podríamos llamarlos los «tres grandes» del alojamiento de proyectos. Ten en cuenta que esta pregunta no se limita a proyectos públicos (en los que esperamos que GitHub tenga una ventaja más considerable), sino que también incluye el alojamiento de proyectos públicos y privados. La reciente adquisición de GitHub por parte de Microsoft podría afectar su adopción en el futuro; lo sabremos mejor en próximas encuestas. De la cuota del 25 % de GitHub, algo más de la mitad de esos participantes (52 %) usa la versión pública, mientras que el resto (48 %) usa la oferta local privada de GitHub Enterprise. VSTS representa el 2 % de la categoría «Otros».

13. ¿Qué repositorio privado de binarios o artefactos usas?
La mayoría de los sitios no usa un repositorio de artefactos empaquetados; en teoría, porque no lo necesita. Quienes valoran la comodidad que ofrece suelen elegir Nexus, una solución consolidada y muy enfocada en el ecosistema JVM, seguida de Artifactory de JFrog, algo más popular en ecosistemas políglotas.

14. ¿Qué tecnologías de prueba usas?
Con casi 4 de cada 5 personas usando JUnit y un 10 % más usando TestNG, queda claro que las pruebas unitarias son, por mucho, la práctica de prueba dominante en el ecosistema JVM. (Los participantes podían elegir varias respuestas, por lo que los totales superan el 100 %). En cuanto a las simulaciones, ahora está claro que Mockito se ha convertido en el framework preferido. JMeter es usado por casi 1 de cada 4 participantes y Gatling, por el 5 %, lo que demuestra que se valora cada vez más la necesidad de hacer pruebas de rendimiento. Selenium alcanza un impresionante 29 %. A diferencia de los resultados sobre herramientas de análisis estático de calidad, solo el 10 % de los participantes afirma no usar ninguna herramienta de prueba. Espera… ¿una de cada diez personas no usa herramientas de prueba? Mejor sigamos antes de perder la fe en la humanidad.

Resumen de herramientas
9 de cada 20 desarrolladores ya usan IntelliJ IDEA
6 de cada 10 desarrolladores usan Maven para compilar su proyecto principal
Más de 7 de cada 10 desarrolladores aún no usan herramientas de seguridad estática
Casi 6 de cada 10 desarrolladores usan Jenkins para CI
Casi 3 de cada 4 desarrolladores usan Git como sistema de administración de código fuente
GitHub, Bitbucket y GitLab tienen cuotas casi iguales del mercado de repositorios de código
Casi 8 de cada 10 desarrolladores usan JUnit
¡Aún hay más en este informe! ¿Qué sección quieres leer a continuación?
Informe del ecosistema JVM 2018: tus herramientas
