What is Protobuf?
Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler.
Protobuf is a tool in the Serialization Frameworks category of a tech stack.
Protobuf is an open source tool with 44.3K GitHub stars and 11.9K GitHub forks. Here’s a link to Protobuf's open source repository on GitHub
Who uses Protobuf?
59 companies reportedly use Protobuf in their tech stacks, including Microsoft, Bagelcode, and Buzzvil.
169 developers on StackShare have stated that they use Protobuf.
Public Decisions about Protobuf
Here are some stack decisions, common use cases and reviews by companies and developers who chose Protobuf in their tech stack.
Fullstack Engineer| Ruby | React JS | gRPC at Ex Bookmyshow | Furlenco | Shopmatic · | 8 upvotes · 9.6K views
gRPC with Protobuf has clear winning and pros and the most importantly easy and fun to write and scale
- HTTP/2 vs. HTTP 1.1
- Messages vs. Resources and Verbs
- The gRPC Gateway. Server 2 Server (S2S) calls in mind- gRPC is way to go. Browser support is not as mature. gRPC is mainly used primarily for internal services that are not exposed directly to the world. Exposing that big workflow for your order, warehouse, async jobs management as API service and RPC call scripted using gRPC is way to go
- Streaming vs. Request-Response. Try built-in health check streaming service and understand the use case. Ever wanted S2S streaming w/o browser involved, this is the solution.
- Bored of too much REST ?? ;)
Protobuf Alternatives & Comparisons
What are some alternatives to Protobuf?
See all alternatives
Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License.
It is a row-oriented remote procedure call and data serialization framework developed within Apache's Hadoop project. It uses JSON for defining data types and protocols, and serializes data in a compact binary format.
It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.