Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Sandstorm
Sandstorm is a self-hostable web productivity suite. It's implemented as a security-hardened web app package manager.
>are there any other major advantages of Cap’n Proto
There's a list at https://capnproto.org/ under "other advantages".
While it is technically not 1.0, I have yet to see a breakage and I have been using it since 0.7.
The language maturity one, I can concur though. The rust implementation has been fine, but pycapnp was plagued with memory leaks until recently, and curre tly has performance problems[1] that makes it unsuitable for my use case.
As for the level 2+ protocol, it looks cool on paper, but it looks like a lot of added complexity to address an advanced use case.
The language itself has generics and sum types, which makes it much better at modelling the problem domain than protobuf.
[1]: https://github.com/capnproto/pycapnp/issues/256
> But I do long for a simpler alternative
If you're happy with protobuf but just not with gRPC, you can check out Twirp [1] and DRPC [2]. Both aim to be simpler alternatives while keeping protobuf for serialization. Their development is Go focused though.
[1] https://github.com/twitchtv/twirp
[2] https://github.com/storj/drpc/
> But I do long for a simpler alternative
If you're happy with protobuf but just not with gRPC, you can check out Twirp [1] and DRPC [2]. Both aim to be simpler alternatives while keeping protobuf for serialization. Their development is Go focused though.
[1] https://github.com/twitchtv/twirp
[2] https://github.com/storj/drpc/
Apparently at C# implementation supports promise pipelining: https://github.com/c80k/capnproto-dotnetcore#features
It is missing many nice-to-have features however and is also apparently unmaintained, with the last release 16 months ago...