Go logo

GoLand

The IDE for professional development in Go

GoLand

O ecossistema Go em 2025: Principais tendências em frameworks, ferramentas e práticas de desenvolvimento

Read this post in other languages:

O Go completa 16 anos este ano. Para comemorar esse marco, analisamos mais detalhadamente os resultados da última Pesquisa sobre o Ecossistema de Desenvolvedores e examinamos a evolução do ecossistema Go nos últimos cinco anos.

De acordo com o JetBrains Data Playground, 2,2 milhões de desenvolvedores profissionais usam o Go como sua principal linguagem de programação – o dobro do número registrado há cinco anos. Se adicionarmos os profissionais para quem o Go é uma linguagem secundária, o número ultrapassa os 5 milhões.

O Go continua sendo a melhor opção para adoção, de acordo com o Relatório sobre o Estado do Ecossistema de Desenvolvedores de 2025, em que 11% de todos os desenvolvedores de software planejam adotar Go nos próximos 12 meses. Assim como no ano passado, está em quarto lugar no Índice de Promessas de Linguagens da JetBrains, atrás apenas de Typescript, Rust e Python.

Os desenvolvedores Go geralmente se enquadram em uma das duas categorias, com alguns combinando os dois tipos de funções:

  • Desenvolvedores de back-end da Web que trabalham em aplicativos Web envolvendo microsserviços.
  • Engenheiros DevOps ou de Confiabilidade de Sites (SRE) que gerenciam plataformas de infraestrutura de TI (Kubernetes ou arquiteturas serverless). Normalmente, eles trabalham em operadores de clusters Kubernetes, microsserviços da Web Go relacionados e utilitários CLI escritos em Go, Python ou Bash, bem como em infraestrutura como código e suporte a serviços.

Bibliotecas que moldam o ecossistema Go

Biblioteca padrão

A linguagem Go foi projetada com uma filosofia de “baterias incluídas”, e a biblioteca padrão do Go é um dos maiores pontos fortes da linguagem, geralmente suficiente para a maioria das necessidades. Os desenvolvedores confiam nela porque ela é clara, confiável, segura, eficiente e simples. Na cultura Go, “stdlib first” é a abordagem padrão. Bibliotecas de terceiros são adicionadas principalmente por conveniência, não por necessidade.

Ainda assim, à medida que o escopo dos aplicativos Go cresceu, o ecossistema também evoluiu, com o surgimento de um conjunto de ferramentas amplamente usadas que são confiáveis e recomendadas para casos de uso específicos.

Principais frameworks Web e routers

Vamos examinar como a popularidade dos frameworks Go e dos routers Go mudou desde 2020.

Observação: os valores totalizam mais de 100%, pois essa era uma pergunta de seleção múltipla.

O pacote net/http, um router da biblioteca padrão, é a alternativa mais comum para roteamento entre os desenvolvedores Go. Ele é estável e não possui dependências.

Nos últimos anos, o chi continuou sendo uma alternativa popular para a criação de serviços HTTP em Go. O uso cresceu ligeiramente desde 2020, alcançando cerca de 12% dos desenvolvedores. O chi é um router leve e idiomático, totalmente compatível com net/http, bem documentado e com manutenção ativa.

O gorilla/mux, que já foi o router HTTP mais usado e poderoso, foi arquivado em 2023. Desde então, muitos projetos foram migrados para o chi ou para a biblioteca padrão, especialmente depois que o Go 1.22 introduziu o roteamento de padrões em http.ServeMux. Até 2025, 17% dos desenvolvedores Go relataram usar o gorilla/mux regularmente, uma queda em relação aos 36% em 2020. Sua participação continua notável devido a projetos antigos, mas espera-se que diminua ainda mais.

Os frameworks Web em Go mais populares em 2025 são Gin, Echo e Fiber.

O Gin tem crescido de forma constante, com quase metade dos desenvolvedores Go (48%) usando-o em 2025, em comparação com 41% em 2020. Embora não exista um único “melhor” framework Web para Go, o Gin lidera o grupo como uma das alternativas mais rápidas, mais estabelecidas e mais recomendadas.

O Fiber, introduzido em 2020 com foco em velocidade e simplicidade, também ganhou força. Atualmente, ele é usado por 11% dos desenvolvedores Go – próximo ao Echo (16%) e à frente do Beego (4%), cuja popularidade continua a diminuir.

Frameworks de teste e ferramentas de desempenho

O Go tem uma forte cultura de testes e benchmarking, enraizada em sua filosofia de design de que os testes devem ser simples, consistentes e parte do desenvolvimento diário, e não uma reflexão tardia. Essa filosofia se reflete na própria linguagem: a biblioteca padrão inclui o pacote testing, que oferece suporte a testes de unidade, benchmarks, exemplos e fuzzing. Espera-se que os desenvolvedores Go criem perfis e meçam o desempenho usando ferramentas integradas, como o pprof.

Observação: os valores totalizam mais de 100%, pois essa era uma pergunta de seleção múltipla.

Os dados de uso confirmam a filosofia – o pacote testing incorporado continua sendo a opção escolhida com mais frequência pelos desenvolvedores Go que escrevem testes de unidade. No entanto, para projetos maiores ou empresariais, seus recursos costumam ser insuficientes, alimentando o crescimento de frameworks e bibliotecas como a testify e a gomock desde 2020.

A Testify estende o pacote “testing”, tornando os testes mais limpos e legíveis. Ela é adequada para a maioria dos projetos e atualmente é usada por 27% dos desenvolvedores.

A gomock, projetada para simular interfaces e serviços externos, é usado por cerca de 21% dos desenvolvedores Go.

Vários outros frameworks de testes Go são menos usados, mas valiosos em casos específicos. O Ginkgo, frequentemente usado em conjunto com o Gomega para correspondências expressivas, se destaca em testes orientados a comportamento. Como exigem uma configuração mais pesada, essas ferramentas são normalmente escolhidas para conjuntos de testes grandes ou complexos. O uso do Ginkgo tem se mantido estável desde 2020, em torno de 5%.

O Godog é outro framework BDD que permite que os testes sejam escritos em uma sintaxe Gherkin legível por humanos e vinculados ao código Go. O Godog é mais adequado para alinhar os desenvolvedores com as equipes de controle de qualidade e de produtos em torno de um entendimento compartilhado, em vez de testes de unidade de baixo nível. Embora não seja novo, o Godog tem sido mantido ativamente pela Cucumber GitHub desde 2022 e tem crescido em adoção, com aproximadamente 4% dos desenvolvedores Go usando-o em 2025.

Bibliotecas populares open source

Aqui estão as bibliotecas Go open source mais usadas em 2025, agrupadas por área de aplicação.

Serviços de back-end

  • Registros:
    • A log/slog (registro em log estruturado fornecido pela stdlib no Go 1.21 e posterior) é a escolha natural para começar do zero com o mínimo de dependências.
    • A logrus é uma biblioteca de registro em log estruturada recomendada para projetos que precisam oferecer suporte a versões do Go anteriores a 1.21. Embora atualmente esteja em modo de manutenção, ela ainda é estável e amplamente utilizada.
    • A zap e, em menor escala, a zerolog são populares para logs de alto desempenho.
  • Banco de dados:
    • A database/sql (stdlib) fornece uma interface genérica para bancos de dados SQL (ou semelhantes a SQL).
    • A sqlx adiciona aprimoramentos de qualidade de vida sobre database/sql. Ela é independente de driver e particularmente adequada para vários bancos de dados.
    • A pgx está vinculada ao Postgres e costuma ser usada para suporte e desempenho de primeira classe do PostgreSQL.
    • Bibliotecas ORM (mapeador relacional de objetos) como a GORM e a ent, entre outras, ajudam a mapear estruturas Go para tabelas de banco de dados, permitindo que você trabalhe com o banco de dados em um estilo mais orientado a objetos ou declarativo. Elas são recomendadas para abstração pesada (migrações, modelagem de esquemas etc.).
  • Configuração:
  • Validação:

Aplicativos de CLI

  • O cobra é a biblioteca mais usada para criar aplicativos Go de CLI com comandos, sinalizadores e ajuda automática. É uma boa opção para CLI complexa com vários subcomandos – ferramentas para desenvolvedores, scripts de automação e utilitários de administração – e é usado por muitas das principais ferramentas Go, como o kubectl ou o helm.
  • O urfave/cli é fácil de aprender e adequado para ferramentas de CLI de comando único ou pequenas, pois gera ajuda clara e saída de uso. Costuma ser usado como uma CLI leve ou como um substituto para scripts de DevOps/utilitários.
  • O bubbletea é um framework de TUI (interface texto-usuário) moderno, usado para criar aplicativos de CLI interativos ou visuais, como menus, dashboards, barras de progresso e muito mais.

Kubernetes

  • A k8s.io/client-go é a biblioteca oficial de clientes Go para a API do Kubernetes, fornecendo conjuntos de clientes, clientes dinâmicos, descoberta, informantes, registradores, REST e autenticação.
  • A sigs.k8s.io/controller-runtime envolve o client-go e oferece funcionalidades de gerenciador, reconciliador, caches e webhooks.
  • O The Operator Framework é um framework de scaffolding de alto nível para a criação de operadores Kubernetes em Go. Ele utiliza controller-runtime internamente e ajuda a gerar código, boilerplate e o scaffolding da CRD (definição de recurso personalizado).
  • O sigs.k8s.io/kubebuilder é um framework para criar APIs e operadores do Kubernetes usando CRDs.

IDEs e ambientes de desenvolvimento

IDEs e editores

Os dados indicam que o GoLand IDE, desenvolvido pela JetBrains, continua sendo a ferramenta preferida para o desenvolvimento em Go, com 47% dos entrevistados identificando-o como seu IDE ou editor preferido. Cerca de 6% dos desenvolvedores Go optam pelo IntelliJ IDEA com o plug-in Go, principalmente por seu suporte a várias linguagens.

A parcela de uso do VS Code permaneceu estável recentemente, enquanto o uso geral do editor mostra um ligeiro aumento. O Neovim ganhou força como um sucessor moderno, de open source e extensível do Vim. Depois que o Atom foi descontinuado em 2022, seus principais colaboradores apresentaram o Zed, um editor de código aberto e de alto desempenho escrito em Rust. A proporção de outros editores usados para o desenvolvimento Go permaneceu praticamente inalterada e mínima.

As mudanças mais significativas estão associadas ao rápido aumento dos LLMs e à crescente demanda por assistentes de programação de IA. Em 2025, 6% dos desenvolvedores de Go identificaram o Cursor – um editor de código com tecnologia de IA baseado no VS Code lançado em 2023 – como seu principal ambiente de desenvolvimento.

Assistência para programação com IA

As ferramentas de programação baseadas em IA tiveram um impacto significativo nos workflows dos desenvolvedores Go. Os dados da pesquisa indicam que, em média, os desenvolvedores Go começaram a adotar a IA mais cedo do que seus colegas que usam outras linguagens e continuam a usá-la mais amplamente nas tarefas diárias. Atualmente, mais de 70% dos desenvolvedores Go relatam o uso regular de pelo menos um assistente de IA, agente ou editor de código.

Essa alta taxa de adoção é explicada em grande parte pela natureza da própria linguagem. Até mesmo a complementação básica de código orientada por IA e a geração de testes fornecem um valor significativo ao lidar com código boilerplate em Go. A simplicidade, a estrutura e a previsibilidade da linguagem a tornam particularmente adequada para a geração de código baseada em LLM.

Aqui estão os mais populares assistentes de programação por IA, agentes e editores de código comumente usados para o desenvolvimento Go em 2025.

Observação. Essa era uma pergunta de resposta múltipla. Os resultados foram filtrados para incluir apenas os entrevistados que declararam o Go como sua principal linguagem de programação. A tabela lista apenas as ferramentas relatadas como sendo usadas regularmente por mais de 3% dos entrevistados. O mercado de agentes de IA está evoluindo rapidamente; os dados apresentados aqui foram coletados entre abril e junho de 2025.

Linting e análises estáticas

O ecossistema de ferramentas do Go é conhecido por seu excelente suporte a análises estáticas e linting. Além das ferramentas incluídas na cadeia de ferramentas Go, várias soluções amplamente adotadas são comumente usadas em projetos profissionais.

O Golangci-lint tornou-se o executor de linter multifuncional padrão para pipelines de CI/CD e desenvolvimento local. Ele executa linters em paralelo, aproveita o armazenamento em cache para aumentar a velocidade e é altamente configurável.

Mais de cem linters estão incluídos por padrão, entre eles opções populares como gosec, govet, revive, errcheck, ineffasign e staticcheck (um subconjunto de regras), e muitas equipes preferem executá-los por meio do golanci-lint.

O Golangci-lint também se integra a todas as principais IDEs, permitindo uma “abordagem shift-left”. Por exemplo, o GoLand oferece suporte nativo ao golangci-lint, executando inspeções do golangci-lint em tempo real à medida que você programa e ajudando a detectar problemas antecipadamente.

Outra ferramenta notável é o nilaway, projetado para detectar possíveis pânicos de nil no código Go. Ela se destina ao uso offline em terminais ou pipelines de CI/CD. Para detecção precoce durante o desenvolvimento, o GoLand oferece análise interprocedural para detectar desreferenciamentos de ponteiros nulos. O detector de desreferenciação de ponteiro nulo é baseado em análises de fluxo de dados e otimizado para execução incremental e sob demanda, reagindo a mudanças no código em tempo real dentro do editor.

Conclusão e perspectiva futura para o ecossistema Go

Conforme destacado em nosso post de abril O Golang ainda está crescendo?, o ecossistema Go em 2025 continua saudável, estável e maduro. A linguagem continua sendo uma das principais opções para back-end, infraestrutura e sistemas nativos da nuvem. A ênfase do Go em produtividade, segurança e simplicidade garante sua relevância contínua e o posiciona bem para um maior crescimento nos próximos anos.

Metodologia e dados

As conclusões apresentadas aqui são baseadas no Relatório sobre o Estado do Ecossistema de Desenvolvedores de 2025. Os detalhes da metodologia e os dados brutos estão disponíveis aqui. Todas as tabelas foram filtradas para incluir apenas os entrevistados que identificaram Go como sua linguagem de programação principal.

Artigo original em inglês por:

Elena Ufliand

Elena Ufliand

image description