JetBrains logo

Pesquisa para desenvolvedores Django 2022

Esta é a segunda pesquisa anual para desenvolvedores Django, realizada em setembro e outubro de 2022 como um esforço colaborativo entre a Django Software Foundation e a JetBrains. Para nos ajudar a termos uma ideia melhor do estado atual do framework e do ecossistema em torno dele, responderam à pesquisa 4.900 usuários e entusiastas do Django, de 248 países e regiões.

Para conhecer as descobertas mais recentes, acesse a Pesquisa para desenvolvedores Django 2023 ou confira a Pesquisa para desenvolvedores Django 2021 inicial.

Para quais propósitos você usa principalmente o Django?

Quais versões do Django você usa?>100%

55%

0%

4.1

34%

0%

4.0

47%

75%

3.2

10%

30%

3.1

13%

39%

3.0 ou inferior

A maioria dos usuários migrou para a última versão, a 4.1, mas quase metade dos desenvolvedores em Django ainda usa a versão 3.2 LTS.

A versão 3.1 e as versões anteriores do Django são usadas por desenvolvedores Python mais experientes, enquanto os novatos usam apenas as versões mais recentes.

Para novos projetos, qual versão do Django você usa?

70%

O último lançamento estável

28%

O último lançamento LTS

3%

Outros

Com que frequência você atualiza o Django em seus projetos?

44%

Cada lançamento estável

14%

Cada lançamento mensal

30%

Somente LTS

5%

Uma versão do Django sem suporte

7%

Outros

Os desenvolvedores Django geralmente atualizam seus projetos ou a cada nova versão estável (44%), ou apenas com as versões com suporte de longo prazo (LTS; 32%).

Tecnologias e frameworks

Quais backends de banco de dados você usa?> 100%

79%

PostgreSQL

40%

SQLite

28%

MySQL

10%

MariaDB

2%

Oracle

2%

Nenhum/não tenho certeza

6%

Outros

O Django tem suporte oficial aos seguintes bancos de dados: PostgreSQL, SQLite, MySQL, MariaDB e Oracle. Desde a pesquisa do ano passado, o PostgreSQL ficou ainda mais popular, com a participação aumentando em 2%.

Apenas 6% dos desenvolvedores usam bancos de dados sem suporte no Django. O banco de dados mencionado com mais frequência por esses desenvolvedores foi o MongoDB.

Qual backend de cache você usa?> 100%

54%

Redis

17%

Memória local

16%

Banco de dados

16%

Memcached

8%

Sistema de arquivos

1%

Outros

27%

Nenhuma opção

Fazer cache com o Redis é a alternativa mais popular, praticada por mais da metade dos desenvolvedores Django.
O uso do TypeScript é mais comum entre os desenvolvedores que usam o Redis como back-end de cache do que entre aqueles que escolheram outros métodos de cache.

Os usuários do banco de dados PostgreSQL preferem o Redis e o Memcached.

Entre os usuários do SQLite, a maior participação é do sistema de arquivos, com a memória local sendo a segunda alternativa mais popular.

Quais backends GeoDjango você usa?>100%

72%

Nenhum/não tenho certeza

22%

PostGIS

6%

MySQL

2%

SpatiaLite

1%

Oracle

1%

Outros

O uso do back-end GeoDjango tem alta correlação com a escolha do back-end de banco de dados.

Quais aplicações Django contrib você acha mais úteis?> 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%

Outros

5%

Nenhum/não tenho certeza

Mais de 80% dos respondentes escolheram admin ou auth, o que torna estes aplicativos de contribuição os mais populares pelo segundo ano consecutivo.

Quais são os seus três componentes core favoritos?> 100%

76%

Modelos

50%

Admin

33%

Autenticação

31%

Migrações

25%

Visualizações

14%

Comandos de gerenciamento do Django

13%

Formulários

13%

Modelos

10%

Ecossistema de terceiros

8%

URLs

5%

Sinais

5%

Testes

4%

Cache

2%

Não tenho certeza

1%

Outros

O componente central favorito dos respondentes é o Models. Ele foi escolhido por 76% dos usuários do Django, o que é 4% a mais que no ano anterior.

Qual mecanismo de template você usa?> 100%

81%

Templates Django

14%

Jinja2

2%

Outros

13%

Nenhuma opção

Quais frameworks de teste você usa?> 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%

Outros

26%

Nenhuma opção

Quais frameworks JavaScript você usa?>100%

36%

37%

React

32%

37%

jQuery

25%

28%

Vue

16%

5%

htmx

8%

10%

Angular

O htmx foi lançado em 2020 e agora está atraindo mais atenção. O uso desse framework para JavaScript triplicou desde a nossa pesquisa anterior, em agosto de 2021. Além disso, o Alpine.js duplicou sua participação, embora esta ainda seja pequena demais para tirar qualquer conclusão específica.

Já a participação do jQuery diminuiu 5% em comparação com os resultados do ano passado.

É interessante observar que os frameworks que costumavam liderar estão começando a perder participação para novos frameworks emergentes.

Quais frameworks CSS você usa?>100%

62%

68%

Bootstrap

22%

15%

Tailwind CSS

13%

14%

CSS puro

9%

12%

Material Design/Lite

6%

6%

Bulma

Desde o ano passado, a participação do Tailwind CSS aumentou 7%, passando de 15% para 22%. Os usuários do Tailwind CSS tendem a usar frameworks para JavaScript, como Alpine.js, htmx, React e Vue, com mais frequência que os usuários do Bootstrap. Os usuários do Bootstrap usam o jQuery com quase o dobro da frequência.

Quais são seus cinco pacotes Django de terceiros favoritos?> 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

Quais tecnologias assíncronas você usa?> 100%

25%

ASGI

23%

asyncio

18%

FastAPI

15%

Channels

15%

Uvicorn

11%

Visualizações assíncronas do Django

9%

Daphne

5%

asgiref

4%

Starlette

1%

Hypercorn

1%

Anyio

4%

Outros

47%

Nenhuma opção

Metade dos desenvolvedores Django escrevem visualizações assíncronas (async). Porém, o uso ou não de tecnologias assíncronas pelos respondentes não está necessariamente correlacionado com a sua experiência em desenvolvimento.

Saiba mais sobre o suporte do Django a tecnologias assíncronas aqui.

Sintaxe e documentação

Você usa dicas de tipos no seu código Django atualmente?

Os desenvolvedores mais experientes usam dicas de tipos com frequência significativamente maior que os desenvolvedores com menos experiência. No total, 46% dos desenvolvedores Django usam dicas de tipos.

Qual verificador de tipos você usa?>100%

35%

Mypy

23%

Pyright / Pylance

4%

Pytype

5%

Outros

40%

Nenhuma opção

O quanto você contribui para a documentação do software no qual você está envolvido?

22%

Bastante, ou com frequência

28%

Um pouco, ou às vezes

26%

Pouco, ou quase nunca

25%

Nada, ou nunca

O que você usa para hospedar e publicar a documentação do software com o qual você trabalha?>100%

43%

Readme

29%

Hospedagem própria

21%

Read the Docs

19%

GitHub Pages

3%

GitBook

8%

Outros

23%

Não publicamos documentação

É mais provável que equipes maiores documentem software — por exemplo, nas GitHub pages, que são usadas em sua maioria por equipes grandes.

Equipes menores publicam documentação com menos frequência.

Quais sistemas e linguagens você usa para criar e elaborar a documentação?>100%

64%

Markdown

37%

Swagger

24%

Sphinx

17%

rST

14%

Postman

13%

wiki

8%

Outros

19%

Nenhuma opção

Quais princípios você adota na documentação do software no qual você trabalha?>100%

81%

Não é adotada explicitamente nenhuma arquitetura de informações

27%

Revisão formal da documentação

14%

Estrutura baseada em tópicos

13%

O merge do código não é realizado sem documentação relevante

12%

Guia de estilo explícito para os colaboradores

10%

Linguagem inclusiva

3%

Diátaxis

1%

DITA

4%

Outros

Linguagens e outros frameworks da Web

O Python é a sua principal linguagem de programação?

90%

Principal

10%

Secundária

Quais outras linguagens de programação você usa além do Python?> 100%

75%

JavaScript

67%

HTML/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%

Outros

3%

Nenhuma opção

Qual é a sua linguagem de programação principal?> 100%

23%

JavaScript

12%

Java

11%

TypeScript

10%

PHP

9%

C/C++

7%

C#

5%

Go

3%

HTML/CSS

2%

Rust

2%

SQL

2%

Ruby

1%

Bash/Shell

1%

R

11%

Outros

Essa pergunta foi mostrada apenas para aqueles que escolheram o Python como linguagem secundária.

Além do Django, quais frameworks da Web você usa?> 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

Qual framework da Web você mais usa?> 100%

83%

Django

5%

React.js

2%

Vue.js

2%

FastAPI

1%

Flask

1%

Angular

1%

Spring

5%

Outros

Recursos

Qual das opções a seguir você usa para acompanhar o desenvolvimento do Django?> 100%

59%

djangoproject.com

26%

Stack Overflow

20%

Reddit

20%

Twitter

18%

YouTube

15%

Boletim informativo Django News

11%

Hacker News

11%

Amigos

10%

Django Forum

9%

Podcasts

7%

RSS

6%

Grupos Google

4%

Discord

1%

IRC

3%

Outros

16%

Não acompanho o desenvolvimento do Django

Os maiores usuários do YouTube e do StackOverflow são desenvolvedores que trabalham há menos de 2 anos.

Aqueles com 6 anos ou mais de experiência de trabalho quase nunca usam o YouTube para aprender Django. Tipicamente, eles leem o djangoproject.com e o Django News.

Qual das opções a seguir você prefere usar para aprender Django?> 100%

80%

djangoproject.com

45%

Blogs

40%

YouTube

31%

Livros

18%

Amigos / colegas de trabalho

9%

Vídeos pagos

5%

Podcasts

5%

Outros

3%

Nenhuma opção

Pense nos recursos da Web que você lê ou segue sobre o Django, exceto os canais oficiais do Django> 100%

50%

Canais do YouTube

33%

Blogs

33%

Podcasts

16%

Páginas do Twitter

12%

Fóruns

19%

Outros

Versões do Python

Quais versões do Python você usa?> 100%

58%

13%

3.10

51%

60%

3.9

36%

53%

3.8

17%

31%

3,7

8%

21%

3.6 - 3.0

Segundo a Pesquisa Oficial para Desenvolvedores Python, é mais comum que os desenvolvedores Django prefiram usar as últimas versões do Python do que os desenvolvedores Python em geral. Em especial, esse é o caso do uso da versão 3.9, que é 29% maior com o Django (51%) que com o Python em geral (22%).

O que você normalmente usa para fazer upgrade da sua versão do Python?>100

39%

Python fornecido pelo sistema operacional

37%

Python.org

32%

Contêineres do Docker

28%

pyenv

6%

Anaconda

4%

Compilação do código fonte

3%

Atualizações automáticas por meio de um provedor de nuvem

2%

Outra pessoa gerencia as atualizações do Python para mim

3%

Outros

2%

Eu não atualizo

Os desenvolvedores que visitam o python.org têm uma tendência maior a atualizar o Python a cada nova versão estável do que aqueles que usam o Python fornecido com o sistema operacional.

Os desenvolvedores localizados na Ásia têm uma preferência duas vezes maior por usar o python.org que os desenvolvedores em geral (27% contra 13%), enquanto uma proporção 22% maior dos localizados na Europa escolhe o Python fornecido com o sistema operacional (55% a 33%).

Quais das seguintes ferramentas você usa para isolar ambientes Python?> 100%

55%

44%

venv

43%

55%

Virtualenv

42%

40%

Docker

21%

23%

Pipenv

19%

13%

Poetry

Houve um aumento de 6% na participação do Poetry, de 13% em 2021 para 19% no final de 2022.

Quais formatadores de código você usa?> 100%

51%

35%

Black

28%

18%

isort

23%

30%

autopep8

19%

0%

pre-commit

1%

2%

YAPF

A participação do formatador de código Black aumentou significativamente (16%) quando comparado com os resultados da pesquisa do ano anterior.

Quais linters você usa?> 100%

43%

40%

Flake8

41%

26%

Black

33%

37%

pylint

18%

14%

mypy

3%

4%

Outros

Quais são os cinco principais pacotes Python com os quais você trabalha?> 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%

Outros

5%

Nenhuma opção

Psycopg2 e Requests são os pacotes Python mais usados entre os usuários do Django, cada um com 54%.

O Requests é uma plataforma popular entre todos os desenvolvedores Python, enquanto o Psycopg2 parece ser específica para o Django.

O Pillow, um módulo para trabalhar com imagens, é popular entre os desenvolvedores menos experientes.

Nuvem

Qual plataforma de hospedagem na nuvem você usa?> 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%

Outros

20%

Nenhuma opção

Com 56% de participação, o AWS é geralmente a escolha dos desenvolvedores das Américas do Norte e Central.

O Heroku lidera na África, com 39% de participação, enquanto o AWS está em um segundo lugar próximo, com 37%.

Além disso, o PythonAnywhere tem mais demanda na África e no Oriente Médio, com 20% de participação, enquanto na Ásia ele tem 19%. Em todas as outras partes do mundo, ele tem menos de 10%.

Como você desenvolve localmente para a nuvem?> 100%

63%

Localmente com o virtualenv

44%

Em containers do Docker

8%

Em máquinas virtuais

7%

Com um interpretador de sistema local

7%

Em ambientes de desenvolvimento remoto

2%

Diretamente no ambiente de produção

2%

Outros

10%

Nenhuma opção

Como você executa o código na nuvem (em um ambiente de produção)?>100

54%

Dentro de containers

33%

Em máquinas virtuais

23%

Em uma plataforma como serviço

9%

Serverless

2%

Outros

15%

Nenhuma opção

Ferramentas de desenvolvimento

Qual é o seu principal editor de texto ou IDE?> 100%

42%

VS Code

38%

PyCharm

7%

Vim

5%

Sublime Text

2%

Atom

2%

Emacs

1%

Notepad++

3%

Outros

Qual é o seu sistema operacional local principal?> 100%

41%

Linux

33%

macOS

16%

Windows com WSL

10%

Windows sem WSL

1%

Outros

Quais sistemas de integração contínua (CI) você usa?> 100%

42%

35%

GitHub Actions

28%

27%

Gitlab CI

10%

12%

Jenkins/Hudson

8%

8%

CircleCI

2%

6%

TravisCI

Desde o ano passado, a participação do GitHub Actions aumentou ligeiramente, em 7%, enquanto o Jenkins e o Travis CI perderam 2% e 4%, respectivamente.

Quais ferramentas de gerenciamento de configurações você usa?> 100%

19%

Ansible

8%

Solução personalizada

6%

Fabric

2%

Puppet

2%

Salt

1%

Chef

5%

Outros

65%

Nenhuma opção

Containers

Você usa containers do Docker ou algo semelhante?>100

47%

Uso containers durante o desenvolvimento

45%

A aplicação que eu crio roda em containers em produção

44%

Contêineres são usados no processo de CI/CD

31%

Não/não tenho certeza

2%

Uso containers para outra finalidade

O que você executa dentro de containers do Docker?>100

91%

Código de aplicação que eu desenvolvo ou que minha equipe desenvolve

61%

Serviços de suporte aos quais meu código se conecta

22%

Utilitários que uso durante o desenvolvimento

2%

Outros

O uso de containers do Docker para apoiar serviços e utilitários é menor por indivíduos e pequenas empresas com menos de 10 funcionários.

Durante o desenvolvimento, onde você executa seu código?>100

71%

Dentro de um virtualenv

61%

Dentro de um container, no meu computador

15%

Usando o interpretador do sistema no meu computador

9%

Dentro de containers, em um computador diferente

4%

Em um computador diferente, fora de containers

0%

Outros

Como você implanta código em containers remotos durante o desenvolvimento?>100

68%

Uso integração contínua

40%

Transfiro o código à máquina host e construo o container lá

35%

Crio a imagem do container localmente e, em seguida, envio essa imagem

12%

Conecto-me ao mecanismo do Docker remotamente

6%

Outros

Como você depura sua aplicação?> 100%

72%

Usando declarações print ou log

56%

Usando meu IDE

40%

Uso de shell/pdb

2%

Outros

Dos desenvolvedores com 11 ou mais anos de experiência, 45% depuram seus aplicativos usando shell / pdb, enquanto apenas 20% dos desenvolvedores com menos de 1 ano de experiência e 30% dos desenvolvedores com 1 ou 2 anos de experiência fazem o mesmo.

Você depura sua aplicação em hosts remotos ou em containers?

Dados demográficos

Qual é a sua situação profissional atual?>100

65%

Empregado em período integral por uma empresa/organização

11%

Freelancer

9%

Autônomo(a)

6%

Estudante

4%

Empregado em meio período por uma empresa/organização

3%

Trabalhador estudante

1%

Aposentado

1%

Outros

Os usuários do Django são freelancers duas vezes mais do que os desenvolvedores em geral: a parcela de freelancers nesta pesquisa é de 11%, em comparação com apenas 5% no ecossistema de desenvolvedores total e 6% na Pesquisa para desenvolvedores Python.

Qual é o seu cargo?>100

79%

Desenvolvedor/Programador

18%

Chefe de equipe

17%

Arquiteto

12%

CTO/CIO/CEO

7%

Gerente de produto

6%

Suporte técnico

4%

DBA

4%

Analista de negócios

3%

Técnico em qualidade

3%

Escritor técnico

8%

Outros

Qual é a sua experiência profissional com programação?> 100%

9%

11%

Menos de 1 ano

15%

17%

1 a 2 anos

22%

24%

3 a 5 anos

21%

19%

6 a 10 anos

33%

29%

Mais de 11 anos

Os dados demográficos deste ano mostram que os respondentes da pesquisa de 2022 eram ligeiramente mais experientes que os do ano anterior.

Há quanto tempo você programa em Python?> 100%

6%

8%

Menos de 1 ano

16%

21%

1 a 2 anos

30%

31%

3 a 5 anos

28%

24%

6 a 10 anos

19%

16%

Mais de 11 anos

Qual é a sua faixa etária?

2%

Abaixo de 18

4%

18–20

30%

21–29

37%

30–39

19%

40–49

6%

50 a 59

2%

60 anos ou mais

1%

Prefiro não responder

Em qual região você se encontra?

45%

Europa

19%

América do Norte

18%

Ásia

7%

América do Sul

7%

África

3%

Oriente Médio

2%

Oceania

1%

América Central

1%

Outros

Qual é o seu país ou região?

15%

Estados Unidos

7%

Índia

6%

Alemanha

5%

França

5%

Reino Unido

3%

Espanha

3%

Rússia

3%

Brasil

3%

Polônia

3%

China continental

2%

Canadá

2%

Holanda

2%

Itália

2%

Austrália

2%

Irã

1%

Nigéria

Empresa

Qual é o tamanho da sua empresa?

18%

Apenas eu

20%

2 a 10 pessoas

20%

11 a 50 pessoas

20%

51 a 500 pessoas

5%

501 a 1,000 pessoas

5%

1,001 a 5,000 pessoas

8%

Mais de 5,000 pessoas

3%

Não tenho certeza

Dentro da sua empresa, qual é o tamanho da equipe na qual você trabalha?

9%

Apenas eu

67%

2 a 7 pessoas

14%

8 a 12 pessoas

6%

13 a 20 pessoas

2%

21 a 40 pessoas

1%

Mais de 40 pessoas

Os desenvolvedores Django tendem a trabalhar em equipes pequenas.

Em quantos projetos você trabalha?

Quanto mais experiente o desenvolvedor, mais projetos ele tende a ter. Desenvolvedores menos experientes geralmente trabalham em um projeto principal com vários projetos paralelos, ou mesmo em um só projeto principal.

Você trabalha em equipe ou de forma independente?

Qual dos setores a seguir descreve melhor os negócios da sua empresa?> 100%

38%

Tecnologia da informação/desenvolvimento de software

8%

Educação/treinamento

7%

Contabilidade/finanças/seguros

5%

Medicina/saúde

3%

Vendas/distribuição/desenvolvimento de negócios

3%

Ciências

3%

Sem fins lucrativos

3%

Serviços bancários/imóveis/financiamento hipotecário

3%

Indústria

2%

Administração/gestão

2%

Logística/transporte

2%

Marketing

2%

Negócios/gestão estratégica

2%

Serviço/manutenção

1%

Editora

1%

Segurança

1%

Recursos Humanos

1%

Restaurantes/hospitalidade

1%

Construção/arquitetura

1%

Design

1%

Jurídica

1%

Suporte ao cliente

10%

Outros

Metodologia e dados brutos

Quer se aprofundar mais nos dados? Baixe as respostas anônimas da pesquisa e veja o que você pode aprender. Compartilhe suas descobertas e ideias mencionando @jetbrains e @djangoproject no Twitter com a hashtag #djangosurvey.

Antes de examinar os dados, observe as seguintes informações importantes:

O conjunto de dados inclui respostas apenas dos canais oficiais da Django Software Foundation. Depois de filtrar as respostas duplicadas e não confiáveis, o conjunto de dados incluiu mais de 4.900 respostas, coletadas em setembro e outubro de 2022 por meio da promoção da pesquisa em canais oficiais do Django, como o site djangoproject.com e a conta da DSF no Twitter. Para evitar que a pesquisa fosse inclinada em favor de qualquer ferramenta ou tecnologia específica, não foram utilizados canais relacionados a produtos, serviços ou fornecedores para coletar as respostas.

Os dados são anonimizados, sem informações pessoais ou detalhes de geolocalização. Além disso, para evitar a identificação de quaisquer entrevistados individuais por suas observações literais, todos os campos abertos foram excluídos.

Para ajudar você a entender melhor a lógica da pesquisa, estamos compartilhando o conjunto de dados, as perguntas da pesquisa e toda a lógica da pesquisa.

Baixar os dados brutos

Mais uma vez, em nome da Django Software Foundation e da JetBrains, gostaríamos de agradecer a todos os que participaram desta pesquisa.

Se tiver dúvidas ou sugestões, entre em contato conosco em surveys@jetbrains.com.