Skip to main content

Informe del ecosistema JVM 2018: tus herramientas

Escrito por
Headshot of Andrew Binstock

Andrew Binstock

About your Tools

17 de octubre de 2018

0 minutos de lectura

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

  1. Informe del ecosistema JVM 2018: tu JDK

  2. Informe del ecosistema JVM 2018: tus herramientas

  3. Informe del ecosistema JVM 2018: tu plataforma y aplicación

  4. Informe del ecosistema JVM 2018: tus procesos y tú

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

Gráfico de barras que compara la popularidad de los IDE: IntelliJ IDEA 45 %, Eclipse IDE 38 %, Apache NetBeans 11 %, Vi/Vim/Emacs 3 %, Visual Studio Code 1 % y Oracle JDeveloper 1 %.

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.

Gráfico de barras que muestra la popularidad de las herramientas de compilación: Maven 60 %, Gradle 19 %, Ant 11 %, otras 4 % y ninguna 6 %.

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.

Gráfico de barras horizontales que compara herramientas de análisis estático: SonarQube 39 %, Findbugs 27 %, Checkstyle 23 %, PMD 15 % y otras.

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.

Gráfico de dona que muestra que el 72% no usa una herramienta de seguridad y el 28% sí la usa.

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

Gráfico de barras horizontal que muestra el uso de herramientas de CI: Jenkins 57 %, ninguna 21 %, Bamboo y otras 5 % cada una, TeamCity 4 % y otras 1–2 %.

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.

Gráfico de dona que muestra la popularidad de los sistemas de gestión de código fuente: Git 74 %, Subversion 16 %, Other 7 % y ninguno 3 %.

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

Gráfico de dona que muestra las plataformas de repositorios de código: GitHub 25 %, Bitbucket 25 %, GitLab 20 %, Ninguna 18 % y Otras 12 %.

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.

Gráfico de dona que muestra Nexus 33%, Artifactory 22%, Other 7% y None 38%

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.

Gráfico de barras horizontal que muestra la popularidad de las herramientas de prueba: JUnit 78 %, Mockito 45 %, Selenium 29 %, JMeter 22 % y otras herramientas con 11 % o menos.

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?

  1. Informe del ecosistema JVM 2018: tu JDK

  2. Informe del ecosistema JVM 2018: tus herramientas

  3. Informe del ecosistema JVM 2018: tu plataforma y aplicación

  4. Informe del ecosistema JVM 2018: tus procesos y tú

¡DESCARGA EL INFORME DEL ECOSISTEMA JVM 2018!