Google Protocole Buffers Vs Xml & Json

Publié le 23 juillet 2008 par Spawnrider @spawnrider

Trouvant le XML trop lourd et le JSON trop restreint à Javascript, vous pouvez maintenant opté pour Protocole Buffers. C’est un nouveau format d’échange conçu par Google.

Protocole Buffers est multi-langage, multi-plateforme. et permet la sérialisation de données comme le XML mais en plus rapide et plus simplement.

La syntaxe ressemble à cela :

  1. message Person {
  2.   required string name = 1;
  3.   required int32 id = 2;
  4.   optional string email = 3;
  5.   enum PhoneType {
  6.     MOBILE = 0;
  7.     HOME = 1;
  8.     WORK = 2;
  9.   }
  10.   message PhoneNumber {
  11.     required string number = 1;
  12.     optional PhoneType type = 2 [default = HOME];
  13.   }
  14.   repeated

Par comparaison avec XML, Protocole Buffers est :

  • Plus simple,
  • 3 à 10 fois plus petit,
  • 20 à 100 fois plus rapide,
  • moins ambigue,
  • et permet la génération de DAO facilement.

En XML :

  1. <person>
  2.     <name>John Doe</name>
  3.     <email>jdoe@example.com</email>
  4.   </person>

En Protocole Buffers :

  1. # Textual representation of a protocol buffer.
  2. # This is *not* the binary format used on the wire.
  3. person {
  4.   name: "John Doe"
  5.   email: "jdoe@example.com"
  6. }

Protocole Buffers est à suivre de près car d’après les témoignages que j’ai pu voir à travers le web cette technologie est bien plus rapide que XML et surtout moins verbeuse.

Quelques liens pour information :

Google : http://code.google.com/apis/protocolbuffers/

Retour d’expérience par Julien Chable : http://blogs.codes-sources.com/neodante/archive/2008/07/18/quelques-retours-sur-google-protocol-buffers.aspx

L’annonce Google : http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html