Repolode
google

google/flatbuffers

Uma biblioteca de serialização multiplataforma que permite ler dados binários diretamente, sem precisar analisá-los ou descompactá-los antes.

Alternativa open source a:Protocol Buffers

Estrelas
26,567
Forks
3,712
Issues abertas
333
Último commit
há 6 horas

O que é?

FlatBuffers é uma biblioteca de serialização projetada para usar a memória com eficiência. Os dados são armazenados em um buffer binário que pode ser acessado no próprio lugar, permitindo que as aplicações leiam os campos diretamente dos bytes serializados, sem desserializá-los primeiro em objetos. A biblioteca também mantém a compatibilidade com versões anteriores e posteriores à medida que os schemas evoluem.

Você descreve os dados em um arquivo de schema (.fbs) e executa o compilador flatc para gerar o código de acesso nas linguagens que usa. O repositório inclui bibliotecas de runtime e geração de código para C, C++, C#, Dart, Go, Java, JavaScript, Kotlin, Lua, PHP, Python, Rust, Swift, TypeScript e outras linguagens.

A biblioteca oferece suporte a Windows, macOS, Linux e Android, e funciona em qualquer plataforma com um compilador C++ recente (C++11 ou mais novo).

Recursos principais

  • 01Acesse dados serializados diretamente, sem precisar analisá-los ou descompactá-los antes.
  • 02Gera código de acesso para várias linguagens a partir de um único schema.
  • 03Oferece compatibilidade com versões anteriores e posteriores entre versões do schema.
  • 04Funciona em Windows, macOS, Linux e Android.

Casos de uso

  • Transferir dados entre serviços ou componentes escritos em linguagens diferentes.
  • Armazenar dados binários quando leituras rápidas e sem alocação de memória são importantes, como em jogos ou sistemas embarcados.
  • Ler arquivos serializados grandes usando mapeamento de memória, sem carregá-los por completo.

Início rápido

  1. 1

    Configure a compilação do flatc com CMake

    cmake -G "Unix Makefiles"
  2. 2

    Compile o compilador flatc

    make -j
  3. 3

    Escreva seu esquema (.fbs); consulte samples/monster.fbs como exemplo

  4. 4

    Gere código para suas linguagens a partir do esquema

    ./flatc --cpp --rust monster.fbs

Antes de usar

  • O README não oferece instalação do compilador flatc por um gerenciador de pacotes; é necessário compilá-lo a partir do código-fonte com CMake e um compilador C++.

Tópicos

Perguntas frequentes

O que é flatbuffers?
Uma biblioteca de serialização multiplataforma que permite ler dados binários diretamente, sem precisar analisá-los ou descompactá-los antes. FlatBuffers é uma biblioteca de serialização projetada para usar a memória com eficiência. Os dados são armazenados em um buffer binário que pode ser acessado no próprio lugar, permitindo que as aplicações leiam os campos diretamente dos bytes serializados, sem desserializá-los primeiro em objetos. A biblioteca também mantém a compatibilidade com versões anteriores e posteriores à medida que os schemas evoluem.
flatbuffers é gratuito? Qual é a licença?
flatbuffers é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
flatbuffers ainda é mantido?
Manutenção ativa. O último commit de flatbuffers foi em 21 de out. de 2026.
Para que posso usar flatbuffers?
Transferir dados entre serviços ou componentes escritos em linguagens diferentes. Armazenar dados binários quando leituras rápidas e sem alocação de memória são importantes, como em jogos ou sistemas embarcados. Ler arquivos serializados grandes usando mapeamento de memória, sem carregá-los por completo.
Como instalar flatbuffers?
Configure a compilação do flatc com CMake: cmake -G "Unix Makefiles" Compile o compilador flatc: make -j Escreva seu esquema (.fbs); consulte samples/monster.fbs como exemplo Gere código para suas linguagens a partir do esquema: ./flatc --cpp --rust monster.fbs
Onde consigo flatbuffers?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/flatbuffers

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

Projetos relacionados