Repolode
protocolbuffers

protocolbuffers/protobuf

Formato e toolchain da Google, independente de linguagem e plataforma, para serializar dados estruturados, com o compilador protoc e runtimes para várias linguagens.

Estrelas
72,151
Forks
16,358
Issues abertas
371
Último commit
há 22 horas

O que é?

Protocol Buffers (protobuf) é um mecanismo para serializar dados estruturados, independente de linguagem de programação e plataforma. Os desenvolvedores descrevem os dados em arquivos .proto, e o compilador protoc gera código para ler e gravar essas mensagens na linguagem de destino.

O repositório contém o compilador de protocolos, escrito em C++, além do runtime de C++ e dos arquivos .proto principais distribuídos com o projeto. Bibliotecas de runtime para Java, Python, Objective-C, C#, Ruby, PHP e outras linguagens ficam em subdiretórios ou em repositórios irmãos vinculados, como protobuf-go e protobuf-javascript. As versões incluem binários pré-compilados do protoc para quem não usa C++, e a documentação explica configurações com Bazel, Bzlmod e WORKSPACE.

O projeto é amplamente usado como formato de intercâmbio em sistemas RPC e como alternativa compacta a formatos de texto para armazenar registros estruturados.

Recursos principais

  • 01Define esquemas de mensagens em arquivos .proto independentes de linguagem.
  • 02protoc gera código de serialização para várias linguagens de destino.
  • 03Oferece runtimes para C++, Java, Python, Go, C#, Ruby e outras linguagens.
  • 04Binários pré-compilados do protoc são publicados nas versões do GitHub.
  • 05Oferece suporte a builds com Bazel, Bzlmod e WORKSPACE legado.

Casos de uso

  • Definir contratos de dados compartilhados entre serviços escritos em linguagens diferentes.
  • Serializar mensagens de solicitação e resposta de RPC para APIs no estilo gRPC.
  • Armazenar registros estruturados de forma compacta quando um formato de texto seria grande demais ou lento para analisar.

Início rápido

  1. 1

    Baixe um binário pré-compilado do protoc na página de releases do GitHub

  2. 2

    Siga os tutoriais de primeiros passos no guia do desenvolvedor

Antes de usar

  • Nos metadados, a licença está listada como NOASSERTION, então os termos da licença não estão claros.
  • O estado mais recente da branch main pode apresentar problemas devido a alterações incompatíveis; fixe uma release para obter builds estáveis.
  • Usuários de C++ e quem precisar modificar o código deve compilar o protoc a partir do código-fonte, o que exige mais esforço.

Em coleções

Tópicos

#serialization#rpc#protocol-compiler#code-generation#cross-language#data-format#marshalling#protobuf#protobuf-runtime#protoc

Perguntas frequentes

O que é protobuf?
Formato e toolchain da Google, independente de linguagem e plataforma, para serializar dados estruturados, com o compilador protoc e runtimes para várias linguagens. Protocol Buffers (protobuf) é um mecanismo para serializar dados estruturados, independente de linguagem de programação e plataforma. Os desenvolvedores descrevem os dados em arquivos .proto, e o compilador protoc gera código para ler e gravar essas mensagens na linguagem de destino.
protobuf é gratuito? Qual é a licença?
protobuf é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
protobuf ainda é mantido?
Manutenção ativa. O último commit de protobuf foi em 6 de nov. de 2026.
Para que posso usar protobuf?
Definir contratos de dados compartilhados entre serviços escritos em linguagens diferentes. Serializar mensagens de solicitação e resposta de RPC para APIs no estilo gRPC. Armazenar registros estruturados de forma compacta quando um formato de texto seria grande demais ou lento para analisar.
Como instalar protobuf?
Baixe um binário pré-compilado do protoc na página de releases do GitHub Siga os tutoriais de primeiros passos no guia do desenvolvedor
Onde consigo protobuf?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/protocolbuffers/protobuf

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados