hRPC was designed to be used as a very simple alternative to gRPC. gRPC streams are known to be problematic due to how they were designed to be long-living, so as a result hRPC was born.
hRPC was made with the intention to be as simple as possible, so creating a code generator / transport isn't actually that scary. That said, we have already built with hRPC using the following languages:
- Rust (using hrpc-rs)
- TypeScript (using @harmony-dev/hrpc)
- C++ (using
protoc-gen-hrpc
with--hrpc_opt="cpp_client"
) - C# (using
protoc-gen-hrpc
with--hrpc-opt="csharp_client"
or--hrpc-opt="csharp_server"
, and hrpc.net wrapper) - Dart (using
protoc-gen-hrpc
with--hrpc_opt="dart_client"
) - Elixir (using
protoc-gen-hrpc
with--hrpc_opt="elixir_server"
)
- Go (using
protoc-gen-go-hrpc
notprotoc-gen-hrpc
)
Example applications are located at the hRPC examples repository.
Also check out our blog post containing a tutorial.
See the protobuf files in protocol
. That folder also contains
documentation regarding to hRPC.