Tendencias generales de desarrollo

Compartir:

Desarrollo

¿En qué tipo de actividades participa?

90%

Codificación / Programación

51%

Revisión de código

42%

Pruebas

37%

Diseño de sistemas

34%

Implementación

25%

Desarrollo de infraestructuras / DevOps

17%

Administración de sistemas

¿Qué sistemas operativos utiliza como entornos de desarrollo?

64%

Windows

43%

Linux

42%

macOS

1%

Otro/a

¿Colabora en proyectos de código abierto?

45%

No, pero me gustaría

21%

He contribuido solo unas pocas veces

12%

Sí, a veces

8%

Sí, de forma regular

7%

No, y tampoco me interesa

4%

Trabajo a tiempo completo con código abierto y me pagan por ello.

2%

Trabajo a tiempo completo en código abierto, pero no me pagan por ello

41 %

de los encuestados ha contribuido a proyectos de código abierto, y el 20 % lo hace con mayor o menor regularidad.

¿Cuántos desarrolladores contribuyen a proyectos de código abierto en diferentes países?

55%

Estados Unidos

54%

Alemania

53%

Oriente Medio, África, Asia Central

53%

Reino Unido

52%

China continental

51%

Otro país del Sudeste Asiático y Oceanía

51%

India

¿Qué tipo de complementos utiliza con su IDE o editor?

48%

Sistemas de control de versiones

46%

Complementos específicos del marco de trabajo

40%

Asistencia de lenguaje personalizado

37%

Calidad y análisis del código

34%

Complementos y temas de interfaz de usuario/experiencia de usuario

32%

Herramientas de productividad

32%

Herramientas de depuración

Desarrollo multiplataforma

¿Desarrolla software multiplataforma?

65%

No

22%

Sí, desarrollo aplicaciones móviles multiplataforma

17%

Sí, desarrollo aplicaciones de escritorio multiplataforma

¿A qué plataformas se dirigen sus aplicaciones de escritorio multiplataforma?

88%

Windows

77%

Linux

53%

macOS

2%

Otro/a

Maarten Balliauw

Promotor de desarrolladores, JetBrains

Windows está muy presente en el uso de ordenadores de sobremesa, pero esperaba que macOS tuviera una cuota mayor. Es fascinante ver cuánta gente se dirige a Linux.

¿A qué plataformas se dirigen sus aplicaciones móviles multiplataforma?

87%

Android

72%

iOS

55%

Web

2%

Otro/a

¿Cómo suele trabajar con distintos sistemas operativos o plataformas cuando desarrolla aplicaciones de escritorio multiplataforma?

50%

Utilizo máquinas o dispositivos físicos

49%

Uso máquinas virtuales

19%

No suelo trabajar con diferentes sistemas operativos o plataformas

2%

Otro/a

¿Cómo suele trabajar con distintos sistemas operativos o plataformas cuando desarrolla aplicaciones móviles multiplataforma?

67%

Utilizo un emulador que se ejecuta localmente

65%

Utilizo máquinas o dispositivos físicos

16%

Utilizo un emulador que se ejecuta en una máquina remota

4%

No suelo trabajar con diferentes sistemas operativos o plataformas

1%

Otro/a

Dispositivos móviles

¿Para qué sistemas operativos móviles desarrolla?

87%

Android

58%

iOS

3%

Otro/a

La gran mayoría de los desarrolladores que se dedican al desarrollo móvil trabaja en aplicaciones Android, y más de la mitad se dedica al desarrollo de iOS.

¿Cómo desarrolla para sistemas operativos móviles?

61%

Uso herramientas nativas

49%

Uso tecnologías y marcos multiplataforma

Casi la mitad de los desarrolladores móviles utilizan tecnologías multiplataforma. Puede obtener más información sobre Kotlin Multiplatform y cinco de los mejores marcos de trabajo multiplataforma aquí.

¿Qué marcos de trabajo móviles multiplataforma utiliza?

46%

46%

Flutter

32%

35%

React Native

12%

10%

Unity

12%

8%

Xamarin

11%

9%

Ionic

Seguridad

62 %

de los desarrolladores sigue el ciclo de vida del desarrollo de software seguro (SSDLC).

¿Qué herramientas utiliza para un desarrollo seguro?

74%

IDE/Editor

39%

Integración continua/Implementación continua

27%

Sistema de seguimiento de incidencias

13%

Software de seguridad especializado/dedicado

4%

Otro/a

¿Qué soluciones integradas utiliza para mantener la seguridad del software desarrollado?

58%

No utilizo ninguna solución integrada

26%

GitLab

5%

Snyk

5%

Sonatype

4%

JFrog

2%

Checkmarx

2%

Veracode

Análisis estático

¿Cómo mantiene la calidad del código en su trabajo?

71%

Realizo revisiones manuales del código

33%

Realizo análisis de código automatizados/análisis estáticos de vez en cuando

33%

Ejecuto análisis de código automatizado / análisis estático en cada confirmación

2%

Otro/a

¿Cuáles son los mayores obstáculos para mantener un código de alta calidad para su proyecto u organización?

48%

Limitaciones de tiempo

38%

Elevada carga de trabajo

34%

Directrices de calidad del código desalineadas en el equipo o la organización

24%

Muy pocos empleados

19%

Falta de herramientas sofisticadas

17%

Las herramientas son demasiado caras

12%

No tengo esos problemas

3%

Otro/a

¿Qué herramientas utiliza para el análisis automatizado de código/análisis estático?

62%

IDE/Editor

32%

ESLint

24%

SonarQube

16%

SonarLint

12%

Pylint

10%

Flake8

7%

SonarCloud

6%

Mypy

5%

PHPStan

5%

Ktlint

5%

Snyk

3%

Qodana

9%

Otro/a

Microservicios

Las siguientes preguntas se mostraron solo a quienes desarrollan microservicios.

34 %

de los encuestados informaron de que desarrollan microservicios.

¿Qué enfoques utiliza en el diseño de sistemas?

82%

Microservicios

35%

Arquitectura orientada a servicios

20%

Monolith con frontend web

12%

CQRS

8%

Reactive Streams

4%

Sistemas de actores

1%

Otro/a

2%

Ninguno/a

¿Cómo se comunican las partes distribuidas de su aplicación?

75%

REST / RPC a través de HTTP

48%

Cola de mensajes

24%

WebSocket

24%

RPC multiplataforma

12%

GraphQL

10%

Procesamiento de flujos

9%

Comunicación TCP/UDP personalizada

8%

SOAP

3%

De forma remota

2%

Otro/a

1%

Ninguno/a

¡Gracias por el tiempo que nos ha dado!

Esperamos que nuestro informe le haya resultado útil. Comparta este informe con sus amigos y compañeros.

Si tiene alguna pregunta o sugerencia, no dude en ponerse en contacto con nosotros a través de surveys@jetbrains.com.