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 protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to