JetBrains logo

Encuesta de desarrolladores de Django 2022

Esta es la segunda encuesta oficial anual de desarrolladores de Django, realizada entre septiembre y octubre de 2022 en colaboración entre la Django Software Foundation y JetBrains. Para ayudarnos a hacernos una mejor idea del estado actual del marco de trabajo y del ecosistema que lo rodea, 4900 usuarios y entusiastas de Django de 248 países y regiones realizaron la encuesta.

Para los últimos descubrimientos, vaya a Encuesta de desarrolladores de Django 2023, o eche un vistazo a la inicial Encuesta de desarrolladores de Django 2021.

¿Con qué propósitos utiliza principalmente Django?

¿Qué versiones de Django utiliza?>100 %

55%

0%

4.1

34%

0%

4.0

47%

75%

3.2

10%

30%

3.1

13%

39%

3.0 o inferior

La mayoría de los usuarios ha migrado a la última versión 4.1, pero casi la mitad de los desarrolladores de Django siguen confiando en la versión 3.2 LTS.

Las versiones 3.1 e inferiores de Django las utilizan los desarrolladores experimentados de Python, mientras que los recién llegados solo utilizan las versiones más recientes.

Para los nuevos proyectos, ¿qué versión de Django utiliza?

70%

La última versión estable

28%

La última versión con LTS

3%

Otros

¿Con qué frecuencia actualiza Django en sus proyectos?

44%

Con cada versión estable

14%

Con cada lanzamiento puntual mensual

30%

Solo LTS

5%

Una versión no compatible de Django

7%

Otros

Los desarrolladores de Django suelen actualizar sus proyectos con cada versión estable (44 %) o solo con soporte a largo plazo (LTS) (32 %).

Tecnologías y marcos de trabajo

¿Qué backend(s) de base de datos utiliza?> 100%

79%

PostgreSQL

40%

SQLite

28%

MySQL

10%

MariaDB

2%

Oracle

2%

Ninguno/No lo sé seguro

6%

Otros

Django admite oficialmente las siguientes bases de datos: PostgreSQL, SQLite, MySQL, MariaDB y Oracle. Desde la encuesta del año pasado, PostgreSQL ha ganado todavía más popularidad, con un aumento de 2 puntos porcentuales.

Solo el 6 % de los desarrolladores utiliza bases de datos no admitidas por Django. La base de datos mencionada con más frecuencia por estos desarrolladores es MongoDB.

¿Qué backend de caché utiliza?> 100%

54%

Redis

17%

Memoria local

16%

Base de datos

16%

Memcached

8%

Sistema de archivos

1%

Otros

27%

Ninguna

Practicado por más de la mitad de los desarrolladores de Django, el almacenamiento en caché con Redis es el más popular.
Los desarrolladores que utilizan Redis como backend de caché utilizan TypeScript con más frecuencia que los que eligen otros métodos de almacenamiento en caché.

Los usuarios de bases de datos PostgreSQL prefieren Redis y Memcached.

Entre los usuarios de SQLite, la mayor cuota corresponde al sistema de archivos, siendo la memoria local la segunda más popular.

¿Qué backend(s) de GeoDjango utiliza?>100 %

72%

Ninguno/No lo sé seguro

22%

PostGIS

6%

MySQL

2%

SpatiaLite

1%

Oracle

1%

Otros

El uso del backend GeoDjango está muy correlacionado con la elección del backend de la base de datos.

¿Qué aplicaciones contrib de Django le resultan más útiles?> 100%

85%

admin

80%

auth

50%

postgres

50%

sessions

48%

staticfiles

33%

messages

26%

contenttypes

25%

redirects

17%

humanize

16%

sites

11%

GeoDjango

10%

sitemap

3%

flatpages

3%

syndication

1%

Otros

5%

Ninguno/No lo sé seguro

Más del 80 % de los encuestados eligieron admin o auth, lo que las convierte en las aplicaciones contrib más populares por segundo año consecutivo.

¿Cuáles son sus 3 complementos principales favoritos?> 100%

76%

Modelos

50%

Admin

33%

Autenticación

31%

Migraciones

25%

Vistas

14%

Comandos de gestión de Django

13%

Formularios

13%

Plantillas

10%

Ecosistema de terceros

8%

URLs

5%

Señales

5%

Pruebas

4%

Almacenamiento en caché

2%

No lo sé seguro

1%

Otros

El componente básico favorito entre los encuestados es Modelos. Fue elegido por el 76 % de los usuarios de Django, lo que supone 4 puntos porcentuales más que el año anterior.

¿Qué motor de plantillas utiliza?> 100%

81%

Plantillas Django

14%

Jinja2

2%

Otros

13%

Ninguna

¿Qué marcos de trabajo de pruebas utiliza?> 100%

41%

pytest

36%

unittest

31%

pytest-django

21%

cobertura

10%

Selenium

6%

tox

5%

Cypress

3%

Playwright

3%

django-test-plus

2%

nose

1%

TestCafe

1%

Otros

26%

Ninguna

¿Qué marcos de trabajo de JavaScript utiliza?>100 %

36%

37%

React

32%

37%

jQuery

25%

28%

Vue

16%

5%

htmx

8%

10%

Angular

Lanzado en 2020, el htmx está recibiendo ahora más atención. El uso de este marco de trabajo de JavaScript se ha triplicado desde nuestra anterior encuesta de agosto de 2021. Además, Alpine.js ha duplicado su cuota, aunque este valor es aún demasiado bajo para sacar conclusiones concretas.

En comparación con los resultados del año pasado, la cuota de jQuery disminuyó en 5 puntos porcentuales.

Es interesante observar que los marcos que solían ser líderes están empezando a perder su cuota en favor de los nuevos marcos emergentes.

¿Qué marco(s) de trabajo de CSS utiliza?>100 %

62%

68%

Bootstrap

22%

15%

Tailwind CSS

13%

14%

Pure CSS

9%

12%

Material Design/Lite

6%

6%

Bulma

Desde el año pasado, la cuota de Tailwind CSS ha aumentado 7 puntos porcentuales, pasando del 15 % al 22 %. Los que utilizan Tailwind CSS tienden a utilizar marcos de trabajo de JavaScript, como Alpine.js, htmx, React y Vue, con más frecuencia que los usuarios de Bootstrap. Los usuarios de Bootstrap utilizan jQuery casi el doble de veces.

¿Cuáles son sus 5 paquetes favoritos de Django de terceros?> 100%

60%

djangorestframework

28%

django-celery

28%

django-debug-toolbar

18%

django-cors-headers

17%

django-filter

17%

django-allauth

16%

pytest-django

16%

django-redis

16%

django-extensions

15%

django-crispyforms

¿Qué tecnologías asíncronas utiliza?> 100%

25%

ASGI

23%

asyncio

18%

FastAPI

15%

Canales

15%

Uvicorn

11%

Vistas asíncronas de Django

9%

Daphne

5%

asgiref

4%

Starlette

1%

Hypercorn

1%

Anyio

4%

Otros

47%

Ninguna

La mitad de los desarrolladores de Django escribe vistas asíncronas (async). Sin embargo, el hecho de que los encuestados utilicen o no tecnologías asíncronas no se corresponde necesariamente con su experiencia como desarrolladores.

Consulte más información sobre la compatibilidad asíncrona de Django aquí.

Sintaxis y documentación

¿Utiliza actualmente consejos de tipo en su código Django?

Los desarrolladores con más experiencia utilizan los consejos de tipo con bastante más frecuencia que los desarrolladores con menos experiencia. En general, el 46 % de los desarrolladores de Django utiliza consejos de tipo.

¿Qué corrector de tipos utiliza?>100 %

35%

Mypy

23%

Pyright / Pylance

4%

Pytype

5%

Otros

40%

Ninguna

¿En qué medida contribuye a la documentación del software en el que participa?

22%

Mucho, o a menudo

28%

Algo, o a veces

26%

Un poco, o casi nunca

25%

Nada, o nunca

¿Qué utiliza para alojar y publicar la documentación del software en el que participa?>100 %

43%

Readme

29%

Autoalojamiento

21%

Read the Docs

19%

GitHub Pages

3%

GitBook

8%

Otros

23%

No publicamos documentación

Los equipos más grandes tienden más a documentar el software, como en Github Pages, que utilizan sobre todo los equipos más grandes.

Los equipos más pequeños publican documentación con menos frecuencia.

¿Qué sistemas y lenguajes utiliza para crear y elaborar la documentación?>100 %

64%

Markdown

37%

Swagger

24%

Sphinx

17%

rST

14%

Postman

13%

wiki

8%

Otros

19%

Ninguna

¿Qué principios adopta en la documentación del software en el que participa?>100 %

81%

No se ha adoptado explícitamente una arquitectura de la información

27%

Revisión formal de la documentación

14%

Estructura temática

13%

El código no se fusionará sin la documentación pertinente

12%

Guía de estilo explícita para los colaboradores

10%

Lenguaje inclusivo

3%

Diátaxis

1%

DITA

4%

Otros

Lenguajes y otros marcos de trabajo web

¿Es Python su lenguaje de programación principal?

90%

Principal

10%

Secundario

¿Qué otros lenguajes de programación utiliza además de Python?> 100%

75%

JavaScript

67%

HTML o CSS

49%

SQL

39%

Bash/Shell

25%

TypeScript

15%

C / C++

13%

Java

12%

PHP

12%

Go

9%

C#

8%

Rust

3%

Ruby

3%

R

7%

Otros

3%

Ninguna

¿Cuál es su lenguaje de programación principal?> 100%

23%

JavaScript

12%

Java

11%

TypeScript

10%

PHP

9%

C / C++

7%

C#

5%

Go

3%

HTML o CSS

2%

Rust

2%

SQL

2%

Ruby

1%

Bash / Shell

1%

R

11%

Otros

Esta pregunta solo se mostró a los que eligieron Python como lenguaje secundario.

Aparte de Django, ¿qué marcos de trabajo web utiliza?> 100%

33%

React.js

29%

Flask

25%

JQuery

25%

FastAPI

24%

Vue.js

8%

Express

8%

Angular

4%

Spring

4%

Laravel

3%

ASP.NET Core

¿Qué marco de trabajo web utiliza más?> 100%

83%

Django

5%

React.js

2%

Vue.js

2%

FastAPI

1%

Flask

1%

Angular

1%

Spring

5%

Otros

Recursos

¿Cuál de las siguientes opciones utiliza para seguir el desarrollo en Django?> 100%

59%

djangoproject.com

26%

Stack Overflow

20%

Reddit

20%

Twitter

18%

YouTube

15%

Boletín de noticias de Django

11%

Hacker News

11%

Amigos

10%

Foro de Django

9%

Podcasts

7%

RSS

6%

Grupos de Google

4%

Discord

1%

IRC

3%

Otros

16%

No sigo el desarrollo de Django

Los mayores usuarios de YouTube y Stack Overflow son desarrolladores que llevan trabajando menos de 2 años.

Aquellos con 6 o más años de experiencia laboral casi nunca utilizan YouTube para aprender Django. Suelen leer djangoproject.com y Django News.

¿Cuál de las siguientes opciones prefiere utilizar para aprender Django?> 100%

80%

djangoproject.com

45%

Blogs

40%

YouTube

31%

Libros

18%

Amigos/compañeros de trabajo

9%

Vídeos de pago

5%

Podcasts

5%

Otros

3%

Ninguna

Piense en los recursos web que lee o sigue para Django, excluyendo los canales oficiales de Django> 100%

50%

Canales de YouTube

33%

Blogs

33%

Podcasts

16%

Usuarios de Twitter

12%

Foros

19%

Otros

Versiones de Python

¿Qué versión de Python utiliza?> 100%

58%

13%

3.10

51%

60%

3.9

36%

53%

3.8

17%

31%

3.7

8%

21%

3.6 - 3.0

Según la encuesta oficial a los desarrolladores de Python, los desarrolladores de Django prefieren utilizar las versiones más recientes de Python con más frecuencia que los desarrolladores de Python en general. Este es particularmente el caso del uso de la versión 3.9, que es 29 puntos porcentuales superior con Django (51 %) que con Python en general (22 %).

¿Qué suele utilizar para actualizar su versión de Python?>100

39%

Python proporcionado por el sistema operativo

37%

Python.org

32%

Contenedores Docker

28%

pyenv

6%

Anaconda

4%

Compilación desde la fuente

3%

Actualizaciones automáticas a través de un proveedor de la nube

2%

Otra persona gestiona las actualizaciones de Python por mí

3%

Otros

2%

No la actualizo

Los desarrolladores que visitan python.org tienden a actualizar Python a cada versión estable con más frecuencia que los que utilizan Python proporcionado por el sistema operativo.

Los desarrolladores ubicados en Asia prefieren utilizar python.org el doble que los desarrolladores en general (27 % frente al 13 %), mientras que los ubicados en Europa eligen Python proporcionado por el sistema operativo en 22 puntos porcentuales más (55 % frente al 33 %).

¿Cuál de las siguientes herramientas utiliza para aislar entornos Python?> 100%

55%

44%

venv

43%

55%

Virtualenv

42%

40%

Docker

21%

23%

Pipenv

19%

13%

Poetry

La cuota de Poetry ha aumentado 6 puntos porcentuales, pasando del 13 % en 2021 al 19 % a finales de 2022.

¿Qué formateadores de código utiliza?> 100%

51%

35%

Black

28%

18%

isort

23%

30%

autopep8

19%

0%

pre-commit

1%

2%

YAPF

La proporción del formateador de código Black ha aumentado significativamente (en 16 puntos porcentuales) en comparación con los resultados de la encuesta del año pasado.

¿Qué linters utiliza?> 100%

43%

40%

Flake8

41%

26%

Black

33%

37%

pylint

18%

14%

mypy

3%

4%

Otros

¿En qué 5 paquetes de Python confía?> 100%

55%

Psycopg2

51%

Requests

40%

Gunicorn

36%

Celery

35%

Pillow

32%

pytest

31%

Black

19%

Boto3

14%

uWSGI

14%

sentry-sdk

14%

WhiteNoise

12%

factory-boy

11%

Cobertura

11%

Jinja2

5%

HTTPX

2%

Bleach

2%

Model Bakery

2%

Python Slugify

2%

sorl-thumbnail

6%

Otros

5%

Ninguna

Psycopg2 y Requests son los paquetes de Python más utilizados por los usuarios de Django, con un 54 % cada uno.

Requests es una plataforma popular entre todos los desarrolladores de Python, mientras que Psycopg2 parece ser específica de Django.

Pillow, un módulo para trabajar con imágenes, es popular entre los desarrolladores con menos experiencia.

Nube

¿Qué plataforma de alojamiento en la nube utiliza?> 100%

44%

AWS

23%

DigitalOcean

21%

Heroku

12%

Google Cloud Platform

10%

PythonAnywhere

8%

Microsoft Azure

7%

Linode

3%

Fly.io

1%

OpenShift

1%

OpenStack

13%

Otros

20%

Ninguna

Con una cuota del 56 %, AWS suele ser la elección de los desarrolladores de Norteamérica y Centroamérica.

Heroku lidera en África con un 39 % de cuota, mientras que AWS le sigue de cerca con un 37 %.

Además, PythonAnywhere tiene mayor demanda en África y Oriente Medio, con un 20 % de cuota, y en Asia cuenta con un 19 %. En el resto del mundo tiene menos del 10 %.

¿Cómo desarrolla localmente para la nube?> 100%

63%

Localmente con virtualenv

44%

En contenedores Docker

8%

En máquinas virtuales

7%

Con un intérprete del sistema local

7%

En entornos de desarrollo remotos

2%

Directamente en el entorno de producción

2%

Otros

10%

Ninguna

¿Cómo ejecuta el código en la nube (en un entorno de producción)?>100

54%

Dentro de contenedores

33%

En máquinas virtuales

23%

En una plataforma como servicio

9%

Sin servidor

2%

Otros

15%

Ninguna

Herramientas de desarrollo

¿Cuál es su principal editor de texto o IDE?> 100%

42%

VS Code

38%

PyCharm

7%

Vim

5%

Sublime Text

2%

Atom

2%

Emacs

1%

Notepad++

3%

Otros

¿Cuál es su sistema operativo local principal?> 100%

41%

Linux

33%

macOS

16%

Windows con WSL

10%

Windows sin WSL

1%

Otros

¿Qué sistemas de integración continua utiliza?> 100%

42%

35%

GitHub Actions

28%

27%

GitLab CI

10%

12%

Jenkins/Hudson

8%

8%

CircleCI

2%

6%

TravisCI

Desde el año pasado, la cuota de GitHub Actions ha aumentado ligeramente en 7 puntos porcentuales, mientras que Jenkins y Travis CI han perdido 2 y 4 puntos porcentuales respectivamente.

¿Qué herramientas de gestión de la configuración utiliza?> 100%

19%

Ansible

8%

Solución personalizada

6%

Fabric

2%

Puppet

2%

Salt

1%

Chef

5%

Otros

65%

Ninguna

Contenedores

¿Utiliza contenedores Docker o algo similar?>100

47%

Utilizo contenedores durante el desarrollo

45%

La aplicación que construyo se ejecuta en contenedores en producción

44%

Los contenedores se utilizan en el proceso de CI/CD

31%

No / No lo sé seguro

2%

Utilizo los contenedores para otro propósito

¿Qué ejecuta dentro de los contenedores Docker?>100

91%

El código de la aplicación que desarrollo o que desarrolla mi equipo

61%

Servicios de respaldo a los que se conecta mi código

22%

Utilidades que utilizo durante el desarrollo

2%

Otros

El uso de contenedores Docker para respaldar servicios y utilidades es menor entre particulares y pequeñas empresas con menos de 10 personas.

Durante el desarrollo, ¿dónde ejecuta el código?>100

71%

Dentro de un virtualenv

61%

Dentro de un contenedor, en mi ordenador

15%

Utilizando el intérprete del sistema en mi ordenador

9%

Dentro de los contenedores, en un ordenador diferente

4%

En un ordenador diferente fuera de los contenedores

0%

Otros

¿Cómo despliega el código en contenedores remotos durante el desarrollo?>100

68%

Utilizo la integración continua

40%

Transfiero el código a la máquina anfitriona y compilo el contenedor allí

35%

Compilo la imagen del contenedor localmente y luego hago push de la imagen

12%

Me conecto al motor Docker de forma remota

6%

Otros

¿Cómo depura su aplicación?> 100%

72%

Uso declaraciones print o log

56%

Uso mi IDE

40%

Uso de shell/pdb

2%

Otros

El 45 % de los desarrolladores con 11 o más años de experiencia depura sus aplicaciones utilizando shell / pdb, mientras que solo lo hacen el 20 % de los desarrolladores con menos de 1 año de experiencia y el 30 % de los desarrolladores con 1-2 años de experiencia.

¿Depura su aplicación en hosts remotos o en contenedores?

Datos demográficos

¿Cuál es su situación laboral actual?>100

65%

Empleado a tiempo completo en una empresa u organización

11%

Autónomo

9%

Trabajador por cuenta propia

6%

Estudiante

4%

Empleado a tiempo parcial en una empresa u organización

3%

Estudiante que trabaja

1%

Jubilado

1%

Otros

Los usuarios de Django trabajan como autónomos el doble que los desarrolladores en general: la proporción de autónomos en esta encuesta es del 11 %, frente a solo el 5 % en el ecosistema total de desarrolladores y el 6 % en la encuesta de desarrolladores de Python.

¿Cuál es la función que desempeña en su trabajo?>100

79%

Desarrollador/Programador

18%

Jefe del equipo

17%

Arquitecto

12%

CTO/CIO/CEO

7%

Director de producto

6%

Asistencia técnica

4%

Administrador de bases de datos

4%

Analista de negocios

3%

Ingeniero de control de calidad

3%

Redactor técnico

8%

Otros

¿Cuál es su experiencia profesional en programación?> 100%

9%

11%

Menos de 1 año

15%

17%

De 1 a 2 años

22%

24%

De 3 a 5 años

21%

19%

De 6 a 10 años

33%

29%

11 años o más

Los datos demográficos de este año muestran que los encuestados de 2022 tienen algo más de experiencia que los del año pasado.

¿Cuánto tiempo lleva programando en Python?> 100%

6%

8%

Menos de 1 año

16%

21%

De 1 a 2 años

30%

31%

De 3 a 5 años

28%

24%

De 6 a 10 años

19%

16%

11 años o más

¿Cuál es su rango de edad?

2%

Menos de 18

4%

18-20

30%

21-29

37%

30-39

19%

40-49

6%

50–59

2%

Mayor de 60

1%

Prefiero no responder

¿En qué región se encuentra?

45%

Europa

19%

Norteamérica

18%

Asia

7%

Sudamérica

7%

África

3%

Oriente Medio

2%

Oceanía

1%

América Central

1%

Otros

¿Cuál es su país o región?

15%

Estados Unidos

7%

India

6%

Alemania

5%

Francia

5%

Reino Unido

3%

España

3%

Federación Rusa

3%

Brasil

3%

Polonia

3%

China continental

2%

Canadá

2%

Países Bajos

2%

Italia

2%

Australia

2%

Irán

1%

Nigeria

Empresa

¿Cuál es el tamaño de su empresa?

18%

Solo yo

20%

2-10 personas

20%

11-50 personas

20%

51-500 personas

5%

501-1000 personas

5%

1001-5000 personas

8%

Más de 5000 personas

3%

No lo sé seguro

Dentro de su empresa, ¿cuántas personas componen el equipo en que trabaja?

9%

Solo yo

67%

2-7 personas

14%

8-12 personas

6%

13-20 personas

2%

21-40 personas

1%

Más de 40 personas

Los desarrolladores de Django suelen trabajar en equipos pequeños.

¿En cuántos proyectos trabaja?

Cuanto más experimentado es el desarrollador, más proyectos suele tener. Los desarrolladores con menos experiencia suelen trabajar en un proyecto principal con varios proyectos paralelos, o incluso en un único proyecto principal.

¿Trabaja en equipo o de forma independiente?

¿Cuál de los siguientes sectores define mejor el negocio de su empresa?> 100%

38%

Tecnología de la información / Desarrollo de software

8%

Educación / Formación

7%

Contabilidad / Finanzas / Seguros

5%

Medicina / Salud

3%

Ventas / Distribución / Desarrollo empresarial

3%

Ciencias

3%

Sin fines de lucro

3%

Banca / Sector inmobiliario / Financiamiento hipotecario

3%

Fabricación

2%

Administración / Gestión

2%

Logística o transporte

2%

Marketing

2%

Empresa / Gestión estratégica

2%

Servicio/Mantenimiento

1%

Industria editorial

1%

Seguridad

1%

Recursos humanos

1%

Restauración / Sector hotelero

1%

Construcción / Arquitectura

1%

Diseño

1%

Legal

1%

Atención al cliente

10%

Otros

Metodología y datos brutos

¿Quiere profundizar en los datos?Descargue las respuestas anónimas de la encuesta y vea todo lo que puede aprender.Comparta sus conclusiones y puntos de vista mencionando a @jetbrains y @djangoproject en Twitter con el hashtag #djangosurvey.

Antes de analizar los datos, tenga en cuenta la siguiente información importante:

El conjunto de datos incluye las respuestas solo de los canales oficiales de la Django Software Foundation.Tras filtrar las respuestas duplicadas y poco fiables, el conjunto de datos incluye alrededor de 4900 respuestas recogidas entre septiembre y octubre de 2022 mediante la promoción de la encuesta en los canales oficiales de Django, como djangoproject.com y la cuenta de Twitter de la DSF. Para evitar que la encuesta se incline a favor de alguna herramienta o tecnología específica, no se utilizaron canales relacionados con productos, servicios o proveedores para recoger las respuestas.

Los datos son anónimos, sin información personal ni detalles de geolocalización.Además, para evitar la identificación de cualquier encuestado por sus comentarios literales, se han eliminado todos los campos abiertos.

Para ayudarle a comprender mejor la lógica de la encuesta, compartimos el conjunto de datos, las preguntas de la encuesta y toda la lógica de esta.

Descargar los datos en bruto

Una vez más, en nombre de la Django Software Foundation y de JetBrains, nos gustaría dar las gracias a todos los que han participado en esta encuesta.

Si tiene alguna pregunta o sugerencia, póngase en contacto con nosotros en surveys@jetbrains.com.