awesome-api-devtools
twirp
| awesome-api-devtools | twirp | |
|---|---|---|
| 2 | 37 | |
| 4,008 | 7,506 | |
| 0.0% | 0.1% | |
| 3.3 | 4.6 | |
| 6 months ago | almost 2 years ago | |
| Go | ||
| - | 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.
awesome-api-devtools
-
How to Design Better APIs
For those in Security Theatre of HTTP APIs, I found this also useful:
https://github.com/yosriady/api-development-tools
- HTTP API Development Tools
twirp
- Better Than JSON
-
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
What are some alternatives?
Vizio_SmartCast_API - API documentation for Vizio SmartCast TV's
grpc-web - gRPC Web implementation for Golang and TypeScript
jsonrpc-ts - Strongly 💪 Typed Fast and lightweight JSON RPC 2.0 Client for Nodejs
protobuf-ts - Protobuf and RPC for TypeScript
indie-rpc - A simple RPC framework for Kotlin services
connect-go - Moved to https://github.com/connectrpc/connect-go