Framework RPC independiente del lenguaje, con un generador de código que crea clientes y servidores interoperables en muchos lenguajes de programación.
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
Configura la compilación de flatc con CMake
cmake -G "Unix Makefiles" - 2
Compila el compilador flatc
make -j - 3
Escribe tu esquema (.fbs); consulta samples/monster.fbs como ejemplo
- 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
Framework para crear aplicaciones de escritorio multiplataforma con JavaScript, HTML y CSS, basado en Node.js y Chromium.
Framework de Go para crear aplicaciones de escritorio multiplataforma con una interfaz web (React, Vue, Svelte, etc.) y motores de renderizado nativos.
Un editor de texto moderno y fácil de usar para la terminal, distribuido como un único binario estático sin dependencias y concebido como sucesor de nano.
Kit de herramientas GUI multiplataforma y API para crear aplicaciones de escritorio y móviles con Go desde una sola base de código.
Una biblioteca de formato para C++ rápida y segura en cuanto a tipos, alternativa a C stdio e iostreams, que implementa std::format de C++20.