go-capnp
node-capnp
go-capnp | node-capnp | |
---|---|---|
3 | 1 | |
1,158 | 244 | |
1.6% | 0.0% | |
6.3 | 10.0 | |
12 days ago | over 2 years ago | |
Go | C++ | |
GNU General Public License v3.0 or later | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-capnp
-
Sandstorm: Open-source platform for self-hosting web app
The Go implementation of capnp is alive and well, too. I highly recommend it: https://github.com/capnproto/go-capnp
-
Directly memory export/import
Use Cap'n Proto (https://github.com/capnproto/go-capnproto2) or flatbuffers.
-
flatbuffers vs capnproto for go?
I'm evaluating flatbuffers and capnproto for efficient and performant messaging for redpanda (kafka in c++)
node-capnp
-
Sandstorm: Open-source platform for self-hosting web app
I don't think it's going to happen with only a couple languages with good support. Messaging is fundamental enough that you don't want to swap libraries if not necessary, which means I won't choose it if the languages our products use are not well-supported. Just as a couple of examples:
- Node (& JS in general) have three implementations. One[1] mentions in the README that it's a hacky wrapper, the interface isn't final and the implementation is slow - for 9 years now. Another one[2] without support for RPC hasn't been updated in 4 years, and the last one[3] for 10 years.
- Lua[4] has been updated sporadically over the last couple of years, but the README mentions it ONLY works with LuaJIT v2.1, not with current Lua versions.
Currently it's hard to justify using it in a long-term project, considering how much broader the language implementations for Protobuf are. They also aren't perfect, but there is a lot more buy-in.
[1] https://github.com/capnproto/node-capnp
[2] https://github.com/capnp-js/plugin/
[3] https://github.com/jscheid/capnproto-js
[4] https://github.com/cloudflare/lua-capnproto
What are some alternatives?
capnp-rpc - Cap'n Proto RPC implementation
Cap'n Proto - Cap'n Proto serialization/RPC system - core tools and C++ library
lua-capnproto - Lua-capnp is a pure lua implementation of capnproto based on luajit.
capnproto-js - Cap'n Proto for JavaScript
tempest
plugin - Javascript plugin for Capnproto
FlatBuffers - FlatBuffers: Memory Efficient Serialization Library
rupy - HTTP App. Server and JSON DB - Shared Parallel (Atomic) & Distributed
Sandstorm - Sandstorm is a self-hostable web productivity suite. It's implemented as a security-hardened web app package manager.
redpanda - Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!
yunohost - YunoHost is an operating system aiming to simplify as much as possible the administration of a server. This repository corresponds to the core code, written mostly in Python and Bash.