Protocol Buffers
La noticia se ha extendido como reguero de pólvora: Google ha liberado su llamado “Protocol Buffers” que es para serializar estructuras de datos de manera neutral al lenguaje y a la plataforma. ¿Suena a algo parecido? ¿XML tal vez? si, pero segun Google es más eficiente y sencillo de utilizar. Veamos de que se trata.
Primero uno como desarrollador define cómo queremos estructurar nuestros datos, y luego generamos de manera automágica el código para lidear con estas estructuras. Estas definiciones se hacen en archivos .proto, que vendría siendo el equivalente a la definición del tipo de documento de XML (DTD) o el esquema de una base de datos. Un archivo .proto se ve así:
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
repeated PhoneNumber phone = 4;
}
Corres el compilador del lenguaje de tu elección y te genera las clases necesarias. Para el ejemplo del archivo .proto anterior genería una clase Person y una clase PhoneNumber, que puedes usar para serializar y enviar la clase por la red, o guardarla a un archivo en el disco.
Una de las principales ventajas de los Protocol Buffers es que el formato usado en el cable (lo que se envía) es binario, ocupa mucho menos espacio y es más rápido para parsearlo de vuelta. La desventaja es que no puedes editar el archivo “a mano” una vez que fue serializado.
¿Alguien planea usar Protocol Buffers en un proyecto? Cuenten su experiencia…



Haz un comentario: