jvm2021

Encuesta JVM GuateJUG 2021

Datos generales

Todas las preguntas abajo listadas a excepción de la edad aceptaban respuestas multiples (y pueden sumar más de 107), la encuesta se elaboró bajo la premisa de que muchos desarrolladores cuentan con más de un équipo, sistema operativo o máquina virtual de Java.

Edad participantes

Contrario a lo que muchos piensan, la comunidad Java de Guatemala es una comunidad relativamente joven, vemos que existe una alta concentración en personas que tienen menos de 10 años utilizando Java, considerando que Java tiene 26 años esto puede tener diversas interpretaciones, tales como:

age value
1 9
2 8
3 9
4 14
5 9
6 7
7 4
8 8
9 3
10 11
11 2
12 1
13 1
15 2
16 2
20 5
24 1
123456789101112131516202402468101214014valueGroupedStacked

JVM utilizada en desarrollo

Aca la conclusión es bastante sencilla, a pesar del cambio de licencia de Java 11 la comunidad Guatemalteca sigue prefiriendo la máquina virtual de Java de Oracle. Vale la pena resaltar que las personas que utilizan Linux tambien suelen utilizar la JVM disponible en sus repositorios que generalmente es una compilación de OpenJDK.

jvmDev count
Amazon Corretto 6
Azul Zulu/Zing 10
Eclipse Adoptium/AdoptOpenJDK 16
IBM Semeru/Open J9 1
Liberica JDK 7
Microsoft build of OpenJDK 3
Open JDK via sdkman 1
OpenJDK en mi distribución Linux 50
Oracle GraalVM 9
Oracle JDK 78
Oracle OpenJDK 1
Red Hat OpenJDK 3
Amazon CorrettoAzul Zulu/ZingEclipse Adoptium/AdoptOpenJDKIBM Semeru/Open J9Liberica JDKMicrosoft build of OpenJDKOpen JDK via sdkmanOpenJDK en mi distribución LinuxOracle GraalVMOracle JDKOracle OpenJDKRed Hat OpenJDK010203040506070078countGroupedStacked

JVM utilizada en producción

En línea con la pregunta anterior, la comunidad Guatemalteca sigue prefiriendo la máquina virtual de Java de Oracle. Lo resaltable aca es que existe menos diversidad de JVM en producción.

jvmProd count
Amazon Corretto 5
Azul Zulu/Zing 8
Eclipse Adoptium/AdoptOpenJDK 8
IBM Semeru/Open J9 1
LibericaJDK 4
Microsoft build of OpenJDK 1
OpenJDK en mi distribución Linux 44
Oracle GraalVM 3
Oracle JDK 63
Red Hat OpenJDK 9
Amazon CorrettoAzul Zulu/ZingEclipse Adoptium/AdoptOpenJDKIBM Semeru/Open J9LibericaJDKMicrosoft build of OpenJDKOpenJDK en mi distribución LinuxOracle GraalVMOracle JDKRed Hat OpenJDK0102030405060063countGroupedStacked

Version de Java

version count
16.0.1 1
Java 11 56
Java 17 10
Java 7 o anterior 20
Java 8 79

Vemos que la adopción de Java 11 ha crecido lentamente y (al menos en la muestra) aun no es capaz de igualar a Java 8. También hay una presencia importante de Java 7 a pesar de que lleva bastante tiempo sin soporte, hay gente que le gusta vivir al límite.

16.0.1Java 11Java 17Java 7 o anteriorJava 80204060079countGroupedStacked

IDE

NetBeans e IntelliJ se encuentran en un empate técnico. El uso de IntelliJ ha crecido y esperemos que no sea porque la pirateria también lo ha hecho.

ide count
Android Studio 13
Apache NetBeans 50
Eclipse IDE 34
IntelliJ IDEA 50
Netbeans 1
Netbeans 8 1
VS Code 36
Android StudioApache NetBeansEclipse IDEIntelliJ IDEANetbeansNetbeans 8VS Code01020304050050countGroupedStacked

Tipo de desarrollo

También sin mucha sorpresa vemos que el Backend es el terreno donde Java domina en Guatemala seguido de aplicaciones de escritorio y Android.

objective count
Backend 91
Escritorio 31
Frontend 23
Ingenieria de datos 4
Movíl/Android 28
BackendEscritorioFrontendIngenieria de datosMovíl/Android020406080091countGroupedStacked

Lenguajes JVM

Como era de esperarse Java es el lenguaje más utilizado por los desarrolladores de la JVM. En segundo lugar empezamos a ver una presencia importante de Kotlin y como dato curioso, pareciera que nadie usa Clojure en Guatemala a pesar de que era una opción en la encuesta.

jvmLanguages count
Groovy 8
Java 104
JavaScript (GraalVM/Rhino/Nashorn) 9
Kotlin 31
Scala 2
GroovyJavaJavaScript (GraalVM/Rhino/Nashorn)KotlinScala0204060801000104countGroupedStacked

Lenguajes NO JVM

En linea con muchos otros tops internacionales, vemos una fuerte presencia de JavaScript y un poco menos de Python en la comunidad Java, curiosamente nadie dijo que utiliza SQL a pesar de que era una pregunta abierta.

otherLanguages count
.NET 1
Alexa Skills 1
C# 3
C++ 2
Go 12
JavaScript (Deno/Node.js) 85
PHP 5
Python 48
Ruby 2
Rust 2
Typescript 1
VB.NET 1
Visual Basic 1
c++ 1
shell script 1
.NETAlexa SkillsC#C++GoJavaScript (Deno/Node.js)PHPPythonRubyRustTypescriptVB.NETVisual Basicc++shell script020406080085countGroupedStacked

Frameworks

Nuevamente con empate técnico vemos que JavaEE/JakartaEE y Spring son las dos formas más populares de crear aplicaciones empresariales. También se observó en la encuesta que varias personas utilizan implementaciones de forma independiente -e.g. Hibernate, Primevaces o Apache CXF- ya que esta también era una pregunta abierta.

frameworks count
Akka 1
Apache CXF 1
Dripwizard 1
Helidon 1
Hibernate 2
JPA 1
JSF 1
Java/Jakarta EE 68
MicroProfile 9
Micronaut 1
PRIMEFACES 1
Play Framework 3
Quarkus 5
Spring 69
Vaadin 2
Vert.x 1
hibernate 1
AkkaApache CXFDripwizardHelidonHibernateJPAJSFJava/Jakarta EEMicroProfileMicronautPRIMEFACESPlay FrameworkQuarkusSpringVaadinVert.xhibernate0102030405060069countGroupedStacked

Servidores

Tomcat es el lider indiscutible en Guatemala, seguido por Payara/Glassfish, WebLogic y TomEE. Como dato curioso muchas personas agregaron Glassfish aunque Payara estaba en la lista, la presencia de Glassfish en Guatemala parece ser bastante importante.

server count
Apache TomEE 12
Apache Tomcat 69
Eclipse Jetty 6
GLASSFISH 1
GlassFish 1
Glassfish 3
IBM Websphere (Websphere Liberty) 4
Netty 1
Oas 1
Oracle WebLogic 23
Payara 24
Red Hat JBoss 6
Red Hat Wildfly 10
Wildfly 1
Apache TomEEApache TomcatEclipse JettyGLASSFISHGlassFishGlassfishIBM Websphere (Websphere Liberty)NettyOasOracle WebLogicPayaraRed Hat JBossRed Hat WildflyWildfly0102030405060069countGroupedStacked

Contenedores

Esta fue una de las respuestas con más espacios en blanco, asumimos que un espacio en blanco en esta pregunta es que no utilizan contenedores. Entre los que los utilizan está bastante dividido entre los que utilizan Docker exclusivamente o un orquestador como Kubernetes.

containers count
Apache Mesos 2
Docker Swarm 16
Docker/Podman exclusivamente 26
Kubernetes 35
Apache MesosDocker SwarmDocker/Podman exclusivamenteKubernetes0102030035countGroupedStacked

Sistema operativo de desarrollo

Windows parece tener una porción importante de los desarrolladores en Guatemala. Diferente de encuestas mundiales, el uso de MacOS y Linux en Guatemala para desarrollo pareciera no estan tan extendido en la comunidad JVM Guatemala.

osDev count
Linux 64
MacOS 21
Windows 82
LinuxMacOSWindows050082countGroupedStacked

Sistema operativo de producción

Contrario a la pregunta anterior, pareciera ser que el avance de Linux en Guatemala es inminente en producción. Linux no tuvo competencia en esta pregunta, más bien valdria la pena preguntarse ¿Porqué las personas utilizan Windows para producción con Java?.

osProd count
Linux 88
MacOS 3
Windows 33
LinuxMacOSWindows050088countGroupedStacked

Rol de los encuestados

La mayoria de los participantes se identifica como desarrollador de software o arquitecto de software.

role count
Arquitecto de software 19
CIO/CTO/VP/Director 5
Desarrollador de software 78
Infraestructura 4
estudiante 1
Arquitecto de softwareCIO/CTO/VP/DirectorDesarrollador de softwareInfraestructuraestudiante0204060078countGroupedStacked

Comentarios finales

La encuesta recibió los siguientes comentarios: