Hot Reloading em Golang

Aprenda a usar a biblioteca “air” em Golang para hot reloading do seu app, otimizando o desenvolvimento e economizando tempo.

Quem trabalha com desenvolvimento em Go sabe que a eficiência é uma das grandes vantagens da linguagem. Mas e se pudéssemos tornar o processo de desenvolvimento ainda mais rápido? É aí que entra o hot reloading, e a biblioteca “air” torna isso simples em Go.

O Que é Hot Reloading?

Hot reloading ou Live reloading permite que as alterações feitas no código sejam automaticamente refletidas no aplicativo em execução sem a necessidade de parar e reiniciar o servidor. Isso economiza tempo e torna o processo de desenvolvimento mais ágil e responsivo.

Usando a lib “Air”

Instalação:
Instale o executável do “Air” com o comando:
go install github.com/cosmtrek/air@latest

Configuração:

Na raíz do seu projeto rode o comando do seu terminal:
air init

Esse comando irá criar um arquivo .air.toml na raíz do seu projeto. Você pode abrir e editar algumas variáveis de acordo com seu ambiente ou deixar padrão.
Algumas alterações que eu particularmente faço no arquivo .air.toml:
bin = "./tmp/main": Por padrão o “air” busca o executável do seu programa na pasta tmp (se não existir, ele cria) na raíz do projeto, com o nome de “main”. Se você, assim como eu, salva seu executável em outra pasta e com outro nome basta editar esse parâmetro, por exemplo:  bin = "./bin/meu-app". Assim o air continuará buscando seu executável de acordo com o que você já usa. Isso torna necessário editar o parâmetro cmd.

cmd = "go build -o ./tmp/main .": Aqui é comando que o “air” executa para compilar e salvar o executável do seu app. Como você disse no parâmetro anterior para o “air” buscar seu app na pasta “bin” com o nome de “meu-app” faça as alterações necessárias aqui: cmd = "go build -o ./bin/meu-app ./".
Somente esses parâmetros eu particularmente altero, mas você pode configurar todos os parâmetros de acordo com suas necessidades.

Execução:

Em vez de usar go run, você simplesmente executará o comando “air” pelo seu terminal na raíz do seu projeto:
air

Agora, cada vez que você salvar uma alteração no seu código, o “air” detectará a mudança, recompilará o projeto e reiniciará o app automaticamente.

Conclusão

A biblioteca “air” leva a eficiência de trabalhar com Go a um novo patamar, permitindo a conveniência do “hot reloading” de forma simples. Se você ainda não experimentou, dê uma chance. É uma ferramenta essencial para qualquer desenvolvedor Go que deseja otimizar seu fluxo de trabalho e concentrar-se na criação em vez de processos repetitivos. Nesse link você encontra o Github da biblioteca bem como a documentação oficial, se você quiser aprender mais a fundo.

Até a próxima e happy coding!

 

1 comment
  1. Show de bola … realmente, nós devs JavaScritp já estamos acostumados com essa feature de Hot Reloading e as vezes até esquecemos da importância e da fluidez que ela traz para o desenvolvimento! Que bom que Golang ja esta nesse nivel de tooling !! Parabéns pelo artigo

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Post Anterior

Criando um bot com IA para seu WhatsApp com Node.js

Próximo Post

Arquitetura Limpa em Go – Parte 1 – Introdução

Posts Relacionados

Concorrência em Go com Goroutines

Descubra o poder das goroutines em Go para concorrência eficiente. Aprenda canais, select e tratamento de erros, além das diferenças com threads. Torne seus programas mais escaláveis e eficazes.
Leia Mais