twirp
gRPC


twirp | gRPC | |
---|---|---|
36 | 218 | |
7,286 | 42,637 | |
0.5% | 0.7% | |
4.6 | 9.9 | |
7 months ago | 2 days ago | |
Go | C++ | |
Apache License 2.0 | Apache License 2.0 |
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
gRPC
-
Should You Ditch REST for gRPC?
Recently, I started working on extending the support for gRPC in GoFr, a microservices oriented, Golang framework also listed in CNCF Landscape. As I was diving into this, I thought it would be a great opportunity to share my findings through a detailed article.
-
How to Use Unreleased Features in Bazel Rule Sets with git_override
I recently faced this issue while wanting to use the pyi file generation feature in the rules_proto_grpc_python rule set.
-
Unlocking DuckDB from Anywhere - A Guide to Remote Access with Apache Arrow and Flight RPC (gRPC)
Apache Arrow Flight RPC : Arrow Flight is an RPC framework for high-performance data services based on Arrow data, and is built on top of gRPC and the IPC format.
-
8 Must-Learn Backend Development Tools for 2025: Your Ultimate Guide
gRPC Official Site: https://grpc.io/
- gRPC: onde vive? o que come?
-
Browser Client to gRPC Server Routing options: Connect, gRPC-web, gRPC-gateway and more!
Connect fully supports the gRPC protocol, including streaming, trailers, and error details. Any gRPC client, in any language, can call a Connect server, and Connect clients can call any gRPC server. We validate our gRPC compatibility with an extended version of Google's own interoperability tests.
-
JSON vs FlatBuffers vs Protocol Buffers
Generally used in conjunction with gRPC (but not necessarily), Protobuf is a binary protocol that significantly increases performance compared to the text format of JSON. But it "suffers" from the same problem as JSON: we need to parse it to a data structure of our language. For example, in Go:
-
Open Source C++ Stack
grpc.io
-
Performance and Scalability for Database-Backed Applications
We can take the previously mentioned idea of partitioning the database further by breaking up an application into multiple applications, each with its own database. In this case each application will communicate with the others via something like REST, RPC (e.g. gRPC), or a message queue (e.g. Redis, Kafka, or RabbitMQ).
-
Text-based language processing enhanced with AI/ML
Aside from the obvious differences in client library nomenclature and use of different credentials, API usage is fairly similar. Not visually obvious is that the older platform client library calls the REST versions of the GCP APIs whereas the newer product client libraries call the gRPC versions which generally perform better... yet another reason why the product client libraries are always recommended.
What are some alternatives?
protobuf-ts - Protobuf and RPC for TypeScript
ZeroMQ - ZeroMQ core engine in C++, implements ZMTP/3.1
grpc-web - gRPC Web implementation for Golang and TypeScript
zeroRPC - zerorpc for python
drpc - drpc is a lightweight, drop-in replacement for gRPC
Cap'n Proto - Cap'n Proto serialization/RPC system - core tools and C++ library

