twirp
drpc
twirp | drpc | |
---|---|---|
36 | 9 | |
7,297 | 1,543 | |
0.7% | 1.2% | |
4.6 | 5.2 | |
8 months ago | 8 months ago | |
Go | Go | |
Apache License 2.0 | MIT 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.
twirp
-
gRPC vs. REST: Understand gRPC, OpenAPI and REST and When to Use in API Design
- 2. serialization format via protobuf
For most companies, neither 1 or 2 is needed, but the side effect of 2 (of having structured schema) is good enough. This was the idea behind twrip - https://github.com/twitchtv/twirp - not sure whether this is still actively used / maintained, but it's protobuf as json over HTTP.
- Go Protobuf: The New Opaque API
-
gRPC: 5 Years Later, Is It Still Worth It?
Twirp is lovely, we kind of hit a wall when using it internally because it doesn't have a streaming story: https://github.com/twitchtv/twirp/issues/3
If you don't need to stream data it is excellent.
-
Eight Years of GraphQL
Graphql is by far the most painful DX and least productive thing I've seen cargo-culted. Like most things there's a time and place for Graphql but I think it's vastly overused.
For backend services in particular literally anything else is probably a better choice - rest, grpc, soap, a socket. I honestly don't know why more people don't give twirp a shot.
https://github.com/twitchtv/twirp
- Twirp is a simple RPC framework built on protobuf
-
I Reviewed 1,000s of Opinions on gRPC
The next time I want to build an API, I will probably make use of https://github.com/twitchtv/twirp. I like working with Protobuf and having strongly-typed and well-defined messages, but gRPC is way, way too much. It's obviously a Google product, built for what Google needs.
Use Protobuf for messages, but just use HTTP for transport.
- How do I provide bot RPC and REST endpoints?
- Reasons to use gRPC/Protobuf?
-
A detailed comparison of REST and gRPC
- Twirp (Twitch light version of gRPC, with optional JSON encoding, HTTP1 support and without streaming) - https://github.com/twitchtv/twirp
-
goRPC or gRPC?
There is another: twirp
drpc
-
Experience report: Converting from Google gRPC to Buf's Connect RPC (with gRPC compatibility)
i had try drpc https://github.com/storj/drpc , it's good for my project, but , connect-go https://github.com/bufbuild/connect-go is better, for me, maybe is best one.
-
Cap'n Proto 0.9
> 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/
-
Introducing DRPC: The Storj Replacement for gRPC
Someone opened an issue talking about adding websocket support. Since it seems fairly easy to add, I'll probably write an external package to do it so that DRPC's dependencies don't grow.
What are some alternatives?
protobuf-ts - Protobuf and RPC for TypeScript
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC
grpc-web - gRPC Web implementation for Golang and TypeScript
connect-go - Moved to https://github.com/connectrpc/connect-go
client_golang - Prometheus instrumentation library for Go applications
examples-go - An example Go server built with Connect.