Many #developers trip over #undefined and #null which are also the #achilles #heel of #ProtocolBuffers that #gRPC depends on. When I see that such #basic #problems are not solved properly, I cannot trust/use a #tech #solution. #GraphQL is much better, much more #efficient and a lot more #developerFriendly 😉

To give more context: it does NOT support optional fields. If you define a large input model with many attributes/fields for an update action and you want to receive any combination of those attributes (almost all optional) that means you have to handle a really ugly large input with values that may or may not indicate an omitted attribute. It’s not a surprise that a value like -999999 may be your special value for a field to ignore! Other option is to provide full input object at all times that may lead to accidental data overrides/loss on busy systems. Another option is to define many actions with small pieces of same input model, where you may end up 5 different versions of your update action!!!

“#Optional #Fields And #Default #Values”

Ref: https://developers.google.com/protocol-buffers/docs/proto#optional

Photo by Daniel Mingook Kim https://unsplash.com/es/@danielmingookkim