Protocol Buffers
# Protocol Buffers

Los Protocol Buffers, también conocidos como protobuf, son un formato binario que facilita el almacenamiento e intercambio de datos en aplicaciones. Fue desarrollado por Google Inc. y publicado parcialmente bajo una licencia BSD de 3 cláusulas. Para una variedad de lenguajes de programación, Google proporciona una implementación oficial como software libre bajo la licencia Apache 2.0. Los lenguajes de programación oficialmente admitidos son C#, C++, Go, Objective-C, Java, Python y Ruby. Muchos otros lenguajes de programación, como C o Swift, son compatibles con proyectos de terceros.

Los principales características del diseño de los protocol buffers son su simplicidad y su rendimiento. Está diseñado como un formato binario en contraste con XML, que se basa en un formato textual.

Google desarrolló los Protocol Buffers desde 2001 hasta 2008 para uso interno. En 2008, el compilador y las bibliotecas se pusieron a disposición al público bajo una licencia de código abierto, y se puede seguir públicamente el desarrollo posterior de Google. Google utiliza Protocol Buffers para almacenar e intercambiar datos estructurados y como base de un sistema RPC para la comunicación entre máquinas.

gRPC utiliza Protocol Buffers como lenguaje de descripción de interfaces RPC y como formato de comunicación cliente-servidor.

