4 ms·
For non-niche use cases that is a bad developer experience. If you are designing your own solution that uses protobuf instead of JSON say goodbye to a range o
by arein3 4y ago
For non-niche use cases that is a bad developer experience.
If you are designing your own solution that uses protobuf instead of JSON say goodbye to a range of useful tools that the whole industry uses. From testing to automation it will be harder at every step, and you will have to find custom solutions instead of usual no-customization solution that works OOTB with JSON.
It is a good way to frustrate your developers and generate sometimes brittle solutions related to testing/automation/infrastructure.
- osigurdson 4y agoIf PB becomes popular enough the tooling will materialize. The only difference is the schema needs to be discovered (somehow) with PB.
- arein3 4y agoI would advise to be pragmatic and not risk. You are using it now, and my experience was worse with protobuf than with JSON.
- osigurdson 4y agoI would advise you not to assume you know what pragmatism means for the problems of others.
- arein3 4y agoFor sure. There's a niche for protobuf. I was advising to be pragmatic regarding the tooling, since that was the context.
- lolinder 4y agoChoosing a technology because you're betting it will become popular and therefore better than it is now is a bad move (except for hobby projects). You should only choose to use a new tech if you will derive enough in its current form to justify the cost. Otherwise you may well end up stuck with technology that you were never happy with and that never hit the popularity thresholds you hoped for.
- endtime 4y agoThat's one of the core problems Buf solves.
- osigurdson 4y agoThe schema isn't part of the message. This is what people are complaining about when comparing it to json. Debugging is harder because it is impossible to know what is in the message without having the proto information available. My suggestion/strawman is to add request/response debug headers that include this in a standardized way. Then tooling can start to pick this up (eventually). The developer experience can then start to approach json.