Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Overall, it looks like Protocol Buffers is a good fit for what you want to do. Many people use it exactly for what you've described. I heard about some others using plain JSON for that, but it is definitely less efficient.</p> <p>Protocol Buffers is fast, portable, mature and well-documented. It is developed and maintained by Google. One of the distinctive features of Protocol Buffers is the ability to transparently extend existing records with new fields. For instance, you can extend your existing record format to contain some other fields without converting your existing data or modifying software that works with old fields (as it will silently discard unknown fields).</p> <p>Regarding your question about whether client can work with serialized format (if I understood the question correctly). If a client supports Protocol Buffers and have the ".proto" files describing data format, then they will be able to work with it just like you do. If a client can't work with Protocol Buffers, there are some third-party libraries [1] that can convert between Protobuf, JSON and XML formats (I haven't tried using them myself).</p> <p>You might also want to check out some alternatives to Protocol Buffers, such as Message Pack [2] and Avro. They claim to be faster / more compact / have support for dynamic typing.</p> <p>[1] for example, <a href="http://code.google.com/p/protobuf-java-format/" rel="nofollow">http://code.google.com/p/protobuf-java-format/</a></p> <p>[2] <a href="http://msgpack.org/" rel="nofollow">http://msgpack.org/</a></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload