-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
nextPart of Let's Play NextPart of Let's Play Next
Description
Title (to explain it in a less terse format: rip out everything using Protobuf, and switch to Cap'n Proto or Bebop.)
While it does kind of suck, and it will effectively require me rip out an amount of code that's already been written (as well as rewrite schemas), I've kind of ended up here based on two big ☹☹☹ things:
- Cap'n Proto Rust support is stable, and has been stable for at least half a decade.
- Similarly, Bebop has supported Rust for a while.
- Protobuf upstream activity seems to be implying they will make Rust support stable with Protobuf 31. I'm not sure about Protobuf's release cadence, but I was expecting Protobuf 30 (which just released yesterday) to be at least the first semi-stable release with Rust support, and that doesn't appear to be the case. Big sad ☹
There are a couple ☹ things about capnp to note however:
- Reading and writing capnp roots can be a bit bleh. This is mostly due to how capnp works, but it does make me sad.
- The latest JavaScript (written in TypeScript) runtime library for it, capnp-es is very experimental. Techinically protobuf is in a similar place (where the only official JS support is from a handful of libraries in various random states, only a couple of them actually somewhat usable today without major hacks).
Overall, my ranking is probably
- Bebop (ease of use)
- capnp (performance)
Metadata
Metadata
Assignees
Labels
nextPart of Let's Play NextPart of Let's Play Next