Zig está deixando de ser uma linguagem experimental e se tornando uma escolha séria para sistemas em produção. Em 2024 e 2025, vimos adoção significativa por empresas de tecnologia que precisam de performance, confiabilidade e controle de baixo nível.
Neste artigo, exploramos case studies reais de empresas e projetos usando Zig em produção. Se você está avaliando Zig para seu próximo projeto, estas histórias oferecem insights valiosos sobre quando e por que adotar a linguagem.
Por que isso importa? Empresas como Uber, Synadia e equipes por trás de ferramentas populares como Bun e Ghostty escolheram Zig por razões específicas. Entender essas decisões ajuda você a tomar decisões informadas.
1. Case Study: Bun — Runtime JavaScript Ultra-Rápido
Bun é um runtime JavaScript completo — substituto drop-in para Node.js — escrito em Zig. Criado por Jarred Sumner, o Bun se tornou um dos projetos mais visíveis usando Zig.
O Desafio
Node.js e Deno, embora excelentes, têm limitações de performance:
- Tempo de startup lento — afeta CLIs e serverless
- Alto uso de memória — V8 é pesado
- Compilação JIT imprevisível — warm-up necessário
Por que Zig?
Jarred Sumner explicou a escolha em entrevistas:
“Go nunca foi uma opção. Go usa garbage collector, e JavaScriptCore — o runtime dentro do Bun — já usa GC. Dois GCs não fazem sentido.”
| Aspecto | Por que Zig Venceu |
|---|---|
| Performance | Controle manual de memória sem GC pauses |
| Interop C | JavaScriptCore é em C — Zig integra perfeitamente |
| Build System | Compilação rápida facilita iteração |
| Sem Runtime | Binário final é enxuto |
Resultados
- 3x mais rápido que Node.js em benchmarks de HTTP
- Tempos de startup significativamente menores
- Bundle + transpiler + package manager em uma única ferramenta
- $7M em funding — validação de mercado significativa
Lições
O sucesso do Bun demonstra que Zig é viável para projetos complexos que competem diretamente com soluções estabelecidas. A capacidade de interoperar com C foi crucial — Bun usa JavaScriptCore (WebKit) sem reescrever engines.
2. Case Study: TigerBeetle — Database Financeira de Missão Crítica
TigerBeetle é um database de transações financeiras distribuído, projetado para safety e performance de missão crítica. É usado por fintechs que processam milhões de transações.
O Desafio
Sistemas financeiros exigem:
- Consistência absoluta — nenhuma perda de dados tolerável
- Baixa latência — transações em microssegundos
- Tolerância a falhas — hardware falha, dados não podem
- Auditoria completa — rastro imutável de todas as operações
Por que Zig?
O fundador Joran Dirk Greef explicou:
“Reconhecemos que TigerBeetle levaria tempo para alcançar produção (lançamos em 2024, após 3,5 anos de desenvolvimento), dando tempo para Zig amadurecer, para nossas trajetórias se intersectarem.”
TigerBeetle faz doações significativas à Zig Software Foundation — $512.000 em 2024 junto com Synadia — demonstrando compromisso de longo prazo com o ecossistema.
Arquitetura Inovadora
TigerBeetle usa técnicas avançadas que Zig facilita:
┌─────────────────────────────────────┐
│ VOPR (Simulator) │
│ Teste determinístico de falhas │
└─────────────┬───────────────────────┘
│
┌─────────────▼───────────────────────┐
│ State Machine │
│ Lógica de transações em Zig │
└─────────────┬───────────────────────┘
│
┌─────────────▼───────────────────────┐
│ Storage Engine │
│ I/O direto, sem allocators GC │
└─────────────────────────────────────┘
Resultados
- Produção desde 2024 — após anos de validação rigorosa
- 1 milhão+ de transações/segundo por nó
- Deterministic Simulation Testing — técnica pioneira para encontrar bugs
- Zero dependências externas — control total do stack
Lições
TigerBeetle prova que Zig é adequado para sistemas de missão crítica. A previsibilidade de performance e ausência de GC pauses são vantagens decisivas para financeiros.
3. Case Study: Ghostty — Terminal Emulator por Mitchell Hashimoto
Ghostty é um terminal emulator moderno criado por Mitchell Hashimoto, fundador da HashiCorp (Terraform, Vault, Consul). Lançado em dezembro de 2024, é um dos projetos mais recentes e visíveis em Zig.
O Desafio
Hashimoto queria um terminal que fosse:
- Nativo e rápido — não Electron ou tecnologias web
- Multiplataforma — macOS e Linux nativos
- Rico em features — ligatures, images, splits, tabs
- Acessível — fácil de instalar e configurar
Por que Zig?
Mitchell Hashimoto é conhecido por código em Go (HashiCorp tools), mas escolheu Zig para Ghostty:
| Fator | Decisão |
|---|---|
| Cross-platform | Um código, compila para macOS e Linux |
| Performance | Rendering rápido sem lag |
| Tamanho | Binário enxuto |
| C interop | Integração com GTK4 (Linux) e AppKit (macOS) |
“Ghostty é uma aplicação nativa para macOS e Linux. No macOS, a GUI é escrita em Swift usando AppKit e SwiftUI. No Linux, a GUI é escrita em Zig usando a API GTK4 em C.”
Arquitetura Híbrida
Ghostty demonstra como Zig se integra com outras linguagens:
┌─────────────────────────────────────┐
│ macOS: Swift + AppKit/SwiftUI │
│ Linux: Zig + GTK4 │
└─────────────┬───────────────────────┘
│ (C ABI)
┌─────────────▼───────────────────────┐
│ Core (Zig) │
│ - Parser de terminal │
│ - Rendering │
│ - Gerenciamento de estado │
└─────────────────────────────────────┘
Resultados
- 1.0 lançado em dezembro 2024 — código aberto sob MIT
- Extremamente rápido — rendering em GPU
- Duas GUI nativas — melhor experiência em cada plataforma
- Validação de Zig para desktop apps — não apenas sistemas backend
Lições
Ghostty mostra que Zig funciona bem para aplicações desktop nativas. A capacidade de compartilhar código core em Zig enquanto usa GUI nativa em cada plataforma é um padrão poderoso.
4. Case Study: Mach Engine — Game Engine em Zig
Mach Engine é uma game engine e graphics toolkit em Zig, criada por Stephen Gutekanst. Está em desenvolvimento ativo desde 2021.
O Visão
Mach visa ser:
- Verdadeiramente cross-platform — desktop, mobile, web (WASM)
- Modular — use apenas o que precisa
- Moderna — WebGPU para graphics, ECS para arquitetura
- Fácil de build —
zig buildfunciona em todas as plataformas
Por que Zig para Games?
Games têm requisitos únicos:
| Requisito | Como Zig Ajuda |
|---|---|
| Performance | Sem GC, controle de memória explícito |
| Hot reload | Compilação rápida facilita iteração |
| Cross-platform | Um comando builda para Windows, macOS, Linux, WASM |
| Shader compilation | Comptime para metaprogramação de shaders |
Progresso
- v0.3 lançada em fevereiro 2024
- WebGPU integration — graphics moderno cross-platform
- ECS (Entity Component System) — arquitetura de games
- WASM support — roda no browser
Lições
Mach demonstra que Zig é viável para desenvolvimento de games — um domínio tradicionalmente dominado por C++ com engines enormes. A simplicidade do Zig contrasta com a complexidade de Unity/Unreal para projetos que precisam de controle.
5. Case Study: Uber — Compilando C/C++ com zig cc
A história de adoção mais surpreendente de Zig não envolve escrever código Zig — é sobre usar zig cc como toolchain C/C++.
O Problema
Uber tem um monorepo Go enorme que depende de código C/C++ para:
- Banco de dados e caches
- Protocolos de comunicação
- Otimizações de performance
O desafio: cross-compilação. Uber precisava compilar para ARM64 (AWS Graviton) a partir de x86_64.
A Solução: hermetic_cc_toolchain
A equipe de Go da Uber criou o hermetic_cc_toolchain — uma toolchain Bazel que usa zig cc:
“A partir de 16 de janeiro de 2023, todo código C/C++ em serviços de produção construídos do Go Monorepo são compilados usando Zig c++ via hermetic_cc_toolchain.”
Por que zig cc Venceu?
| Alternativa | Problema | zig cc Solução |
|---|---|---|
| GCC | Cross-compilação complexa | Targets integrados |
| Clang | Necessita sysroots separados | Headers/linker incluídos |
| Compilers nativos | Não herméticos | Reproduzível, cacheável |
# Compilar para qualquer target com um único comando
zig c++ -target aarch64-linux-gnu hello.cpp -o hello
zig c++ -target x86_64-windows-gnu hello.cpp -o hello.exe
zig c++ -target x86_64-macos-none hello.cpp -o hello
Resultados
- Bootstrapping ARM64 — migração completa para Graviton
- Builds herméticos — reproduzíveis em qualquer máquina
- ~40MB package — contém clang-17, musl, glibc 2.17-2.38
- Manutenção simplificada — uma toolchain para todos os targets
Lições
Mesmo empresas que não escrevem Zig estão adotando-o via zig cc. Isso expande drasticamente o alcance da linguagem — desenvolvedores C/C++ podem beneficiar-se sem reescrever código.
6. Outras Adoções Notáveis
Syndica — Sig (Solana Validator)
Syndica está construindo Sig, um cliente validator para blockchain Solana escrito em Zig:
“Sig é uma implementação de validator Solana otimizada e focada em RPS (requests per second), escrita em Zig.”
Por que Zig para blockchain:
- Alta performance — validators processam milhares de transações/segundo
- Consistência — sem GC pauses durante consenso
- Security — controle de memória previne vulnerabilidades comuns
DNEG — Efeitos Visuais
DNEG (Double Negative) é um estúdio de efeitos visuais premiado (Dune, The Last of Us, Inception). Jim Price apresentou sobre “Usando Zig em um Pipeline de Efeitos Visuais”:
“A interop apertada com C torna fácil experimentar com diferentes soluções para desafios de dados e performance.”
Pipeline de VFX exige:
- Processamento de dados massivos (terabytes)
- Performance em tempo real para preview
- Integração com software C++ existente
Turso — Edge Database
Turso (criadores do libSQL) usa Zig para partes de sua infraestrutura:
- SQLite fork otimizado para edge computing
- Baixa latência — queries em milissegundos globalmente
- WASM runtime — bancos de dados rodando no browser
Outras Empresas
Seguindo o repositório de empresas usando Zig:
| Empresa | Uso de Zig |
|---|---|
| Starknet | Infrastructure blockchain |
| Tuple | Pair programming tools |
| ZML | Machine learning inference |
| Dylibso | WebAssembly tooling |
| RDDL Foundation | Blockchain/DLT |
7. Por que Empresas Estão Escolhendo Zig?
Analisando os case studies, padrões emergem:
1. Performance Previsível
✅ Sem garbage collector = sem pauses imprevisíveis
✅ Controle de memória explícito = uso eficiente
✅ Compilação para C = zero overhead de runtime
Sistemas financeiros (TigerBeetle), blockchains (Syndica), e runtimes (Bun) precisam de latência previsível. O gerenciamento de memória explícito do Zig é uma das principais razões para essa previsibilidade.
2. Cross-Compilação Nativa
zig build -Dtarget=x86_64-windows
zig build -Dtarget=aarch64-macos
zig build -Dtarget=wasm32-wasi
Uma toolchain, todos os targets. Uber economizou meses de trabalho de DevOps.
3. Interoperabilidade com C
// Importar headers C diretamente
const c = @cImport({
@cInclude("header.h");
});
Nenhuma reescrita necessária — integração gradual com código legado.
4. Simplicidade
Menos complexidade que C++ ou Rust:
- Sem borrow checker para lutar
- Sem macros pré-processador obscuras
- Sem múltiplas formas de fazer a mesma coisa
5. Comptime — Metaprogramação Poderosa
// Código executado em tempo de compilação
const config = comptime parseConfig("config.json");
Geração de código sem preprocessadores ou macros.
8. Quando Considerar Zig para Seu Projeto?
Zig não é a resposta para tudo. Mas é uma excelente escolha quando:
✅ Use Zig Quando:
| Cenário | Exemplo |
|---|---|
| Substituir C/C++ | Reescrever componentes legados |
| Cross-compilação | Uma codebase, múltiplas plataformas |
| Performance crítica | Databases, runtimes, jogos |
| Sem GC tolerável | Sistemas embarcados, kernels |
| Integração C | Adicionar código Zig a projeto C existente |
| ** tooling C/C++** | Usar zig cc para builds |
❌ Não Use Zig Quando:
| Cenário | Alternativa |
|---|---|
| Aplicações web CRUD | Go, TypeScript, Python |
| Precisa de ecossistema maduro | Rust (crates.io), Go (módulos) |
| Segurança de memória absoluta | Rust (borrow checker) |
| Equipe inexperiente em C | Go (mais simples) |
| Deadline apertado | Linguagem que sua equipe já conhece |
9. A Comunidade Zig em Números
O crescimento de Zig em produção reflete crescimento da comunidade:
Estatísticas 2024-2025
| Métrica | Valor | Tendência |
|---|---|---|
| Stack Overflow Admiration | 64% | #4 mais admirada (2025) |
| Tiobe Ranking | #42 | Subiu de #61 em 2024 |
| GitHub Stars (ziglang/zig) | 35.000+ | Crescimento constante |
Doações para ZSF
- $512.000 — Synadia + TigerBeetle (2024)
- Múltiplos sponsors — empresas financiando desenvolvimento
10. Conclusão e Perspectivas
Zig está pronto para produção — não apenas para projetos pessoais, mas para sistemas que processam milhões de transações e geram receita real.
O Que Aprendemos:
Diferentes usos — desde runtimes JavaScript (Bun) até databases financeiros (TigerBeetle) até terminais (Ghostty)
zig cc é um gateway — Uber adotou sem escrever código Zig, expandindo o ecossistema
Comunidade sustentável — empresas doando de volta à ZSF garantem futuro
Não apenas backend — Ghostty prova que Zig funciona para desktop apps
Próximos Passos
Se você está considerando Zig:
- Comece pequeno — substitua um componente C, não o sistema inteiro
- Use zig cc — experimente cross-compilação sem mudar linguagem
- Junte-se à comunidade — Discord oficial, Ziggit
- Novo em Zig? — comece pela nossa Introdução ao Zig e entenda por que aprender Zig
- Leia mais — confira nossos tutoriais de Zig
Recursos e Referências
- Zig Companies — Lista no GitHub
- Bun.sh
- TigerBeetle
- Ghostty
- Mach Engine
- Uber hermetic_cc_toolchain
- Syndica Sig
- Zig Software Foundation
Quer compartilhar como sua empresa usa Zig? Entre em contato — adoramos destacar adoções da comunidade brasileira!