I'm aware that serialization frameworks like protocol buffers do this, but they usually come with a whole lot of other baggage, dependencies, hit-or-miss language support, and clunky APIs. I want something more lightweight that allows me to start developing an application by developing its schema, without it being tied to a specific serialization framework or language implementation.
All that to say: with chatbots being able to implement “the other side”, it really made it a lot easier to just whip up a custom schema and not really worry too much.
(Helped that it was a one off in my case, unclear how well this would scale to real world production usage)
- CBOR for the on the wire format
- CDDL for schema design of CBOR objects.
- WebTransport as the API you use on top of HTTP/3 for actually moving bits of data back and forth between client and server.
The nice thing about that approach to is that it’s in no way tied of any kind of language or other architectural patterns that larger frameworks tend to force you into. The beauty of the standards process I guess.
If someone could put together a great API design experience that wrapped all of that up with cross language code generation like Protobuf / gRPC I would switch tomorrow.
CBOR - RFC 8949 Concise Binary Object Representation
https://www.rfc-editor.org/rfc/rfc8949.html
CDDL - RFC 8610 Concise Data Definition Language (CDDL)
I would lean in on the unified schema aspect, I think that distinguishes it from a lot of web-focused ORMs. It actually feels like it could be compared against GraphQL given the schema and API features.
Of course, that leads me to wonder about the hairy stuff: permissions, rate limiting, schema evolution, etc.