The well-known types all have different purposes. The wrapper types allow for optional primitive fields, Any is a replacement for proto2 extensions, and Struct is a way of representing JSON in a protobuf form. I'm not sure what the plan is for the types like Api and Method defined in api.proto, though.
On Wed, Mar 6, 2019 at 11:32 AM Dzmitry Lazerka <[email protected]> wrote: > Hi guys, > > Is there any documentation now on the purpose of well-known types? Maybe > things have changed in 3 years. What problem they are intended to solve? > > Basically, bumping this... > > On Tuesday, February 23, 2016 at 12:55:21 PM UTC-8, Zellyn wrote: >> >> There are increasing numbers of references to "well-known" types in >> protos. For instance, I see changes in the Go implementation to support >> them. >> There were passing references in release notes in this group. >> >> However, the main protobuf site includes no narrative explanation that I >> can find. >> >> The idea of a few well-known types to represent "Boxed" values since >> proto3 removes the ability to null out fields makes sense, but the only >> documentation I could find, in the reference section of the protobuf site >> at >> https://developers.google.com/protocol-buffers/docs/reference/google.protobuf, >> includes all sorts of things like Struct, Method, Mixin, etc. that are >> entirely unclear. >> >> Is there a conversation happening somewhere that I'm missing, or is it >> Google-internal but not documented outside yet? >> >> Thanks, >> >> Zellyn >> >> ps - the reintroduction of message types for primitives rather undermines >> my belief in the arguments for removing optional fields in proto3 in the >> first place. I'd like to give the benefit of the doubt to the folks >> designing proto3: is the thinking articulated clearly somewhere? >> >> -- > 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. > -- 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.
