> For the complete documentation index, see [llms.txt](https://dev7days.gitbook.io/dev7days/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev7days.gitbook.io/dev7days/fundamental/what-is-grpc.md).

# What is GRPC ?

Grpc is one of the open source framework that was developed by Google. It used for communication between service like **REST.** It use **Protocol buffer** in part of data serialization and code generation.

**Protocol Buffer**

Protocol Buffers are language-neutral, platform-neutral extensible mechanisms for serializing structured data. This format will be used to generate the interface for development.\
\
**The Advantage**

1. Using HTTP 2
2. the data that will be sent is binary (light) so it will has good performance more than REST . Both REST and gRPC support binary data transmission. However, in REST, data is typically sent in JSON format, which is text-based and requires conversion to binary using techniques like Base64 encoding. On the other hand, gRPC uses Protocol Buffers, a binary serialization format, by default. This results in more efficient data transmission compared to REST.
3. The communction is ***Unary Client-Request or Bidirectional/Streaming*** but REST is ***Client-Request Only**.*
4. Have  own built-in code generation

**Drawbacks**

1. Not support browser, It mean you can use for the communication between service and service (BE to BE)&#x20;
2. Take so much time in implementation


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dev7days.gitbook.io/dev7days/fundamental/what-is-grpc.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
