Repolode
google

google/flatbuffers

Una biblioteca de serialización multiplataforma que permite leer datos binarios directamente, sin analizarlos ni desempaquetarlos antes.

Alternativa open source a:Protocol Buffers

Estrellas
26,567
Forks
3,712
Issues abiertos
333
Último commit
hace 6 horas

¿Qué es?

FlatBuffers es una biblioteca de serialización diseñada para aprovechar la memoria de forma eficiente. Los datos se almacenan en un búfer binario al que se puede acceder directamente, de modo que las aplicaciones leen los campos directamente de los bytes serializados, sin deserializarlos primero en objetos. Además, mantiene la compatibilidad hacia adelante y hacia atrás a medida que evolucionan los esquemas.

Se describen los datos en un archivo de esquema (.fbs) y luego se ejecuta el compilador flatc para generar código de acceso para los lenguajes que se utilicen. El repositorio incluye bibliotecas de runtime y generación de código para C, C++, C#, Dart, Go, Java, JavaScript, Kotlin, Lua, PHP, Python, Rust, Swift, TypeScript y otros.

La biblioteca es compatible con Windows, macOS, Linux y Android, y funciona en cualquier plataforma con un compilador C++ reciente (C++11 o posterior).

Funciones clave

  • 01Accede directamente a los datos serializados, sin analizarlos ni desempaquetarlos.
  • 02Genera código de acceso para muchos lenguajes a partir de un único esquema.
  • 03Mantiene la compatibilidad hacia adelante y hacia atrás entre versiones de esquemas.
  • 04Funciona en Windows, macOS, Linux y Android.

Casos de uso

  • Intercambiar datos entre servicios o componentes escritos en distintos lenguajes.
  • Almacenar datos binarios cuando son importantes las lecturas rápidas y sin asignaciones de memoria, por ejemplo, en juegos o sistemas embebidos.
  • Leer archivos serializados grandes mediante mapeo de memoria, sin cargarlos por completo.

Inicio rápido

  1. 1

    Configura la compilación de flatc con CMake

    cmake -G "Unix Makefiles"
  2. 2

    Compila el compilador flatc

    make -j
  3. 3

    Escribe tu esquema (.fbs); consulta samples/monster.fbs como ejemplo

  4. 4

    Genera código para tus lenguajes a partir del esquema

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

Antes de usarlo

  • El README no ofrece una instalación del compilador flatc mediante un gestor de paquetes; hay que compilarlo desde el código fuente con CMake y un compilador de C++.

Temas

Preguntas frecuentes

¿Qué es flatbuffers?
Una biblioteca de serialización multiplataforma que permite leer datos binarios directamente, sin analizarlos ni desempaquetarlos antes. FlatBuffers es una biblioteca de serialización diseñada para aprovechar la memoria de forma eficiente. Los datos se almacenan en un búfer binario al que se puede acceder directamente, de modo que las aplicaciones leen los campos directamente de los bytes serializados, sin deserializarlos primero en objetos. Además, mantiene la compatibilidad hacia adelante y hacia atrás a medida que evolucionan los esquemas.
¿flatbuffers es gratuito? ¿Qué licencia tiene?
flatbuffers es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿flatbuffers sigue mantenido?
Mantenimiento activo. El último commit de flatbuffers fue el 21 oct 2026.
¿Para qué puedo usar flatbuffers?
Intercambiar datos entre servicios o componentes escritos en distintos lenguajes. Almacenar datos binarios cuando son importantes las lecturas rápidas y sin asignaciones de memoria, por ejemplo, en juegos o sistemas embebidos. Leer archivos serializados grandes mediante mapeo de memoria, sin cargarlos por completo.
¿Cómo se instala flatbuffers?
Configura la compilación de flatc con CMake: cmake -G "Unix Makefiles" Compila el compilador flatc: make -j Escribe tu esquema (.fbs); consulta samples/monster.fbs como ejemplo Genera código para tus lenguajes a partir del esquema: ./flatc --cpp --rust monster.fbs
¿Dónde consigo flatbuffers?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/google/flatbuffers

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados