No artigo sobre Gin, exploramos o framework mais popular do ecossistema Go — robusto e fiel à filosofia “Go Way”. Mas existe um framework ainda mais rápido, desenhado especificamente pra parecer que você está escrevendo JavaScript: o Go Fiber.
Se você está migrando do Node.js e sente falta do Express.js, o Fiber vai ser amor à primeira vista — ele nasceu com o objetivo claro de trazer a facilidade de desenvolvimento do Express pra performance bruta do Go.
Resumo rápido
- Fiber roda sobre
fasthttp, que o próprio repositório oficial descreve como até 10x mais rápido quenet/httpem benchmark.- Custo dessa velocidade: Fiber não é 100% compatível com a interface padrão
net/http— pra 99% dos projetos isso não importa, mas vale saber.- A sintaxe é deliberadamente parecida com Express:
app.Get(),app.Post(),app.Use().
O Segredo da Velocidade: fasthttp
A maioria dos frameworks (Gin incluso) usa a biblioteca padrão net/http. É segura e confiável. O Fiber é construído sobre o fasthttp, uma alternativa focada em performance extrema e baixíssima alocação de memória — até 10x mais rápido que net/http em benchmark, segundo o próprio repositório do projeto.
A Sintaxe: Express.js em Go?
Se você já usou Express (Node.js), isso vai parecer familiar:
app.get('/', (req, res) => res.send('Hello World'))
Agora o Fiber:
app.Get("/", func(c *fiber.Ctx) error { return c.SendString("Hello World") })
A semelhança é intencional — mesmos métodos (Get, Post, Use), mesmo conceito de contexto, estrutura de middleware quase idêntica.
Mão na Massa: Sua Primeira API com Fiber
mkdir aprendendo-fiber && cd aprendendo-fiber
go mod init meunome/fiber
go get github.com/gofiber/fiber/v2
package main
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/logger"
)
func main() {
app := fiber.New()
app.Use(logger.New())
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Olá, Mundo! O Fiber é rápido!")
})
// Rota com parâmetro nomeado — ex: /ola/Thiago
app.Get("/ola/:nome", func(c *fiber.Ctx) error {
nome := c.Params("nome")
return c.SendString("Olá, " + nome)
})
app.Listen(":3000")
}
Rode com go run main.go e acesse localhost:3000/ola/dev. Simples, direto, sem configuração complexa de decodificador.
Lidando com JSON (Body Parser)
type Produto struct {
Nome string `json:"nome"`
Preco float64 `json:"preco"`
}
func main() {
app := fiber.New()
app.Post("/produtos", func(c *fiber.Ctx) error {
p := new(Produto)
if err := c.BodyParser(p); err != nil {
return c.Status(400).SendString(err.Error())
}
return c.Status(201).JSON(p)
})
app.Listen(":3000")
}
Repare como c.Status(201).JSON(p) é legível e encadeado, bem ao estilo JavaScript.
Gin vs. Fiber: Qual Escolher?
- Gin se: você quer estabilidade absoluta, compatibilidade total com qualquer biblioteca Go padrão, e está num ambiente corporativo mais conservador.
- Fiber se: você vem do Node.js, quer developer experience rápida, ou precisa de performance bruta pra aguentar carga pesada.
Perguntas frequentes
Fiber é seguro pra produção? Sim — é amplamente usado, mas por não seguir a interface net/http padrão, algumas bibliotecas de middleware feitas pra net/http não funcionam direto nele.
Preciso saber Express.js pra usar Fiber? Não é obrigatório, mas ajuda bastante — a API foi desenhada de propósito pra ser familiar pra quem vem do Node.
Fiber é mais rápido que Gin também? Em benchmark sintético, sim, geralmente — mas a diferença raramente é o gargalo real da sua aplicação (banco de dados e rede de rede costumam pesar mais que o framework em si).
Conclusão
O Go Fiber prova que Go pode ser tão fácil de escrever quanto JavaScript, mantendo a segurança e velocidade de uma linguagem compilada. Se o código do Gin assustou um pouco, o Fiber é uma porta de entrada mais amigável — sem abrir mão de performance real.
Desafio rápido: adicione uma validação simples no código do endpoint de produto — se Preco for menor que 0, retorne erro 400.
Recomendação relacionada
The Go Programming Language
Escrito por Alan Donovan e Brian Kernighan, é a referência mais citada por quem quer entender Go a fundo, além do básico.
Ver na Amazon →Como Associado Amazon, Visão Binária pode ganhar uma comissão sobre compras qualificadas feitas através deste link, sem custo adicional pra você.