¿Cuáles son los pros y los contras del buffer de protocolo (protobuf) sobre GSON?gson vs protocol buffer
¿En qué situación es más apropiado protobuf que GSON?
Lo siento por una pregunta muy genérica.
¿Cuáles son los pros y los contras del buffer de protocolo (protobuf) sobre GSON?gson vs protocol buffer
¿En qué situación es más apropiado protobuf que GSON?
Lo siento por una pregunta muy genérica.
Tanto json (a través de la biblioteca gson) como protobuf son portátiles entre platorms; pero
Si el rendimiento es clave: protubuf
Para su uso con una página web (JavaScript), o legible para humanos: json (quizás a través de gson)
Si desea eficiencia y multiplataforma, debe enviar mensajes sin procesar entre las aplicaciones que contienen la información que es necesaria y nada más o menos.
Serializar clases a través de los propios mecanismos de Java, gson, protobufs o lo que sea, crea datos que contienen no solo la información que desea enviar, sino también información sobre las estructuras/jerarquías lógicas de las estructuras de datos que se han utilizado para representar el datos dentro de su aplicación.
Esto hace que las clases y el mapeo de datos sean de doble propósito, uno para representar los datos internamente en la aplicación, y dos para ser transmitidos a otra aplicación. Esos dos roles pueden ser conflictivos. El desarrollador tiene la responsabilidad de recordar que las clases, colecciones y el diseño de datos con el que está trabajando en cualquier momento también se serializarán.
Apache avro es una alternativa más si está buscando la serialización binaria. La definición de contrato (como .proto) es opcional y viene con soporte RPC integrado –
Apache Thrift es la contraparte de Apache de Google Protocol Buffers (http://thrift.apache.org/). Ver en línea para comaprisons detallados entre los dos. –