Hello,

We've been using Protobuf3 for a while now, mostly from Go.  There were a 
few things about Protobuf3 that were irritating, so we used Protobuf3 in 
conjunction with our own reflection-based codec for (de)serializing logic 
objects.  3 years and 3 iterations later (while working on the Tendermint & 
Cosmos stack), we've arrived at a final specification called Amino that 
combines the best of both worlds.

Amino is an object encoding specification. Think of it as an 
> object-oriented Protobuf3 with native JSON support. The goal of the Amino 
> encoding protocol is to bring parity between application logic objects and 
> persistence objects.


*Link*: https://github.com/tendermint/go-amino

*Caveats*: It's not complete, and currently there's only a single Go 
implementation, but we've already got buy-in from several other projects, 
and there will soon be a push to support implementations in all major 
languages.  Additionally, we plan to support (but have not specified) a new 
schema spec derived from the Protobuf3 schema grammar (to make migration to 
Amino easier).  And of course, we'll work on code-generation for speed 
improvements.

Enjoy, and looking forward to any feedback/criticism!

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to