Lenguaje declarativo de esquemas que genera modelos de datos seguros en tipos y código RPC para TypeScript, Python, Java, Go, C++ y otros lenguajes a partir de un único archivo .skir.
protocolbuffers/protobuf
Formato y toolchain de Google, independientes del lenguaje y la plataforma, para serializar datos estructurados, con el compilador protoc y runtimes para muchos lenguajes.
- Estrellas
- 72,151
- Forks
- 16,358
- Issues abiertos
- 371
- Último commit
- hace 18 horas
¿Qué es?
Protocol Buffers (protobuf) es un mecanismo para serializar datos estructurados, independiente del lenguaje de programación y de la plataforma. Los desarrolladores describen sus datos en archivos .proto y el compilador protoc genera código para leer y escribir esos mensajes en el lenguaje de destino.
El repositorio contiene el compilador de protocolos, escrito en C++, junto con el runtime de C++ y los archivos .proto principales que incluye el proyecto. Las bibliotecas de runtime para Java, Python, Objective-C, C#, Ruby, PHP y otros lenguajes están en subdirectorios o en repositorios relacionados, como protobuf-go y protobuf-javascript. Las versiones incluyen binarios precompilados de protoc para quienes no usan C++, y hay documentación sobre las configuraciones con Bazel, Bzlmod y WORKSPACE.
El proyecto se usa ampliamente como formato de intercambio en sistemas RPC y como alternativa compacta a los formatos de texto para almacenar registros estructurados.
Funciones clave
- 01Define esquemas de mensajes en archivos .proto independientes del lenguaje.
- 02protoc genera código de serialización para varios lenguajes de destino.
- 03Ofrece runtimes para C++, Java, Python, Go, C#, Ruby y más.
- 04Publica binarios precompilados de protoc en las versiones de GitHub.
- 05Admite compilaciones con Bazel, Bzlmod y WORKSPACE heredado.
Casos de uso
- Definir contratos de datos compartidos entre servicios escritos en distintos lenguajes.
- Serializar mensajes de solicitud y respuesta de RPC para APIs al estilo de gRPC.
- Almacenar registros estructurados compactos cuando un formato de texto ocuparía demasiado espacio o sería lento de analizar.
Inicio rápido
- 1
Descarga un binario precompilado de protoc desde la página de versiones de GitHub
- 2
Sigue los tutoriales de introducción de la guía para desarrolladores
Antes de usarlo
- En los metadatos, la licencia aparece como NOASSERTION, por lo que sus términos no están claros.
- La punta de la rama main puede dejar de funcionar debido a cambios incompatibles; fija una versión para obtener compilaciones estables.
- Los usuarios de C++ y quienes necesiten modificar el código deben compilar protoc desde el código fuente, lo que requiere más esfuerzo.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es protobuf?
- Formato y toolchain de Google, independientes del lenguaje y la plataforma, para serializar datos estructurados, con el compilador protoc y runtimes para muchos lenguajes. Protocol Buffers (protobuf) es un mecanismo para serializar datos estructurados, independiente del lenguaje de programación y de la plataforma. Los desarrolladores describen sus datos en archivos .proto y el compilador protoc genera código para leer y escribir esos mensajes en el lenguaje de destino.
- ¿protobuf es gratuito? ¿Qué licencia tiene?
- protobuf es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿protobuf sigue mantenido?
- Mantenimiento activo. El último commit de protobuf fue el 6 nov 2026.
- ¿Para qué puedo usar protobuf?
- Definir contratos de datos compartidos entre servicios escritos en distintos lenguajes. Serializar mensajes de solicitud y respuesta de RPC para APIs al estilo de gRPC. Almacenar registros estructurados compactos cuando un formato de texto ocuparía demasiado espacio o sería lento de analizar.
- ¿Cómo se instala protobuf?
- Descarga un binario precompilado de protoc desde la página de versiones de GitHub Sigue los tutoriales de introducción de la guía para desarrolladores
- ¿Dónde consigo protobuf?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/protocolbuffers/protobuf
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework RPC independiente del lenguaje, con un generador de código que crea clientes y servidores interoperables en muchos lenguajes de programación.
Una codificación compacta y legible para humanos de datos JSON, diseñada para reducir el uso de tokens al incluir datos estructurados en prompts de LLM.
Transformer de TypeScript que compila tipos puros de TypeScript en validadores en tiempo de ejecución, serializadores JSON, codecs de Protocol Buffers y generadores aleatorios.
Framework RPC para C++ basado en el motor Workflow de Sogou, compatible con los protocolos SRPC, bRPC, Thrift y tRPC en Linux, macOS y Windows.
Una biblioteca de serialización multiplataforma que permite leer datos binarios directamente, sin analizarlos ni desempaquetarlos antes.