Tendências gerais de desenvolvimento

Compartilhar:

Desenvolvimento

Em que tipos de atividades você está envolvido?

90%

Programação

51%

Revisão de código

42%

Teste

37%

Projeto de sistemas

34%

Implementação

25%

Desenvolvimento de infraestrutura / DevOps

17%

Administração de sistemas

Quais sistemas operacionais fazem parte dos seus ambientes de desenvolvimento?

64%

Windows

43%

Linux

42%

macOS

1%

Outros

Você contribui para projetos open source?

45%

Não, mas estou disposto a contribuir

21%

Contribuí apenas algumas vezes

12%

Sim, de vez em quando

8%

Sim, regularmente

7%

Não, e não estou interessado

4%

Trabalho em tempo integral com código-fonte aberto e sou pago por isso

2%

Trabalho em tempo integral com código open source, mas não sou pago por isso

41%

dos que responderam já contribuíram em projetos de código aberto e 20% contribuem com certa regularidade.

Quantos desenvolvedores contribuem para projetos de código aberto em diferentes países?

55%

Estados Unidos

54%

Alemanha

53%

Oriente Médio, África e Ásia Central

53%

Reino Unido

52%

China Continental

51%

Outro: Sudeste Asiático e Oceania

51%

Índia

Que tipos de plug-ins você usa com o seu IDE ou editor?

48%

Sistemas de controle de versão

46%

Plug-ins para frameworks específicos

40%

Suporte personalizado para linguagens

37%

Qualidade e análise de código

34%

Temas e plug-ins de UI/UX

32%

Ferramentas de produtividade

32%

Ferramentas de depuração

Desenvolvimento multiplataforma

Você desenvolve software multiplataforma?

65%

Não

22%

Sim, desenvolvo aplicações móveis multiplataforma

17%

Sim, desenvolvo aplicações multiplataforma para desktop

Quais plataformas os seus aplicativos desktop multiplataformas têm como alvos?

88%

Windows

77%

Linux

53%

macOS

2%

Outros

Maarten Balliauw

Developer Advocate, JetBrains

O Windows está muito presente no uso em desktops, mas eu esperava que o macOS tivesse uma parcela maior. É fascinante ver como muitas pessoas estão mirando o Linux.

Quais plataformas os seus aplicativos móveis multiplataformas têm como alvos?

87%

Android

72%

iOS

55%

Web

2%

Outros

Como você costuma trabalhar com diferentes sistemas operacionais ou plataformas ao desenvolver aplicações de desktop multiplataforma?

50%

Uso máquinas ou dispositivos físicos

49%

Eu uso máquinas virtuais

19%

Normalmente não trabalho com sistemas operacionais ou plataformas diferentes

2%

Outros

Como você costuma trabalhar com diferentes sistemas operacionais ou plataformas ao desenvolver aplicações móveis multiplataforma?

67%

Uso um emulador executado localmente

65%

Uso máquinas ou dispositivos físicos

16%

Uso um emulador executado em uma máquina remota

4%

Normalmente não trabalho com sistemas operacionais ou plataformas diferentes

1%

Outros

Mobile

Para quais sistemas operacionais móveis você desenvolve?

87%

Android

58%

iOS

3%

Outros

Uma ampla maioria dos que trabalham com desenvolvimento móvel ainda trabalha com aplicativos para Android e mais da metade está envolvida no desenvolvimento para iOS.

Como você desenvolve para sistemas operacionais móveis?

61%

Uso ferramentas nativas

49%

Eu uso tecnologias e frameworks multiplataformas

Mais da metade dos desenvolvedores de aplicativos móveis usa tecnologias multiplataformas. Você pode saber mais sobre o Kotlin Multiplatform e outros cinco dos melhores frameworks multiplataformas aqui.

Quais frameworks móveis de plataforma cruzada você usa?

46%

46%

Flutter

32%

35%

React Native

12%

10%

Unity

12%

8%

Xamarin

11%

9%

Ionic

Segurança

62%

dos desenvolvedores seguem o Secure Software Development Life Cycle (SSDLC).

Que ferramentas você utiliza para desenvolvimento seguro?

74%

IDE / Editor

39%

CI/CD

27%

Rastreador de issues

13%

Softwares de segurança especializados/dedicados

4%

Outros

Quais soluções integradas você usa para manter a segurança do software desenvolvido?

58%

Não utilizo soluções integradas

26%

GitLab

5%

Snyk

5%

Sonatype

4%

JFrog

2%

Checkmarx

2%

Veracode

Análises estáticas

Como você mantém a qualidade do código no seu trabalho?

71%

Executo revisões manuais do código

33%

Executo análises automática de código/análises estáticas periodicamente

33%

Executo análises automáticas de código/análises estáticas em cada commit

2%

Outros

Quais são os maiores obstáculos para se manter um código de alta qualidade no seu projeto ou organização?

48%

Limitações de tempo

38%

Elevada carga de trabalho

34%

Diretrizes de qualidade de código desalinhadas na equipe/organização

24%

Poucos funcionários

19%

Falta de ferramentas sofisticadas

17%

As ferramentas são muito caras

12%

Não tenho esses problemas

3%

Outros

Quais ferramentas você usa para análise automatizada do código ou análise estática?

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%

Outros

Microsserviços

As perguntas a seguir foram mostradas apenas aos participantes que desenvolvem microsserviços.

34%

dos participantes relataram que desenvolvem microsserviços.

Que abordagens você usa no seu projeto de sistema?

82%

Microsserviços

35%

Arquitetura orientada a serviços

20%

Monólito com front-end Web

12%

CQRS

8%

Reactive Streams

4%

Sistemas de atores

1%

Outros

2%

Nenhuma opção

Como as partes distribuídas do seu aplicativo se comunicam?

75%

REST/RPC sobre HTTP

48%

Fila da mensagem

24%

WebSocket

24%

RPC multiplataformas

12%

GraphQL

10%

Processamento de fluxo

9%

Comunicação TCP/UDP personalizada

8%

SOAP

3%

De forma remota

2%

Outros

1%

Nenhuma opção

Obrigado pelo seu tempo!

Esperamos que você tenha achado nosso relatório útil. Compartilhe este relatório com seus amigos e colegas.

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