Rework Google-specific language (#167)

* Change wording on gRPC origin

Signed-off-by: lucperkins <lucperkins@gmail.com>

* Templatize Why gRPC section

Signed-off-by: lucperkins <lucperkins@gmail.com>

* s/implement/generate
This commit is contained in:
Luc Perkins 2020-07-07 12:35:56 -07:00 committed by GitHub
parent 08eec27984
commit aae9235be6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 39 additions and 139 deletions

View File

@ -35,16 +35,13 @@ Check out what people are saying below.
## The story behind gRPC
Google has been using a single general-purpose RPC infrastructure called Stubby
to connect the large number of microservices running within and across our data
centers for over a decade. Our internal systems have long embraced the
microservice architecture gaining popularity today. Stubby has powered all of
Googles microservices interconnect for over a decade and is the RPC backbone
behind every Google service that you use today. In March 2015, we decided to
build the next version of Stubby in the open so we can share our learnings with
the industry and collaborate with them to build the next version of Stubby both
for microservices inside and outside Google but also for last mile of computing
(mobile, web and IOT).
gRPC was initially created by Google, which has used a single general-purpose
RPC infrastructure called **Stubby** to connect the large number of microservices
running within and across its data centers for over a decade. In March 2015,
Google decided to build the next version of Stubby and make it open source. The
result was gRPC, which is now used in a great many organizations outside of
Google to power use cases from microservices to the "last mile" of computing
(mobile, web, and Internet of Things).
For more background on why we created gRPC, see the [gRPC Motivation and Design
Principles](/blog/principles) on the [gRPC blog](/blog).

View File

@ -17,9 +17,7 @@ This guide also does not cover anything on the server side. You can check the [J
### Why use gRPC?
Our example is a simple route mapping application that lets clients get information about features on their route, create a summary of their route, and exchange route information such as traffic updates with the server and other clients.
With gRPC we can define our service once in a .proto file and implement clients and servers in any of gRPC's supported languages, which in turn can be run in environments ranging from servers inside Google to your own tablet - all the complexity of communication between different languages and environments is handled for you by gRPC. We also get all the advantages of working with protocol buffers, including efficient serialization, a simple IDL, and easy interface updating.
{{< why-grpc >}}
### Example code and setup

View File

@ -24,18 +24,7 @@ guide](https://developers.google.com/protocol-buffers/docs/reference/cpp-generat
### Why use gRPC?
Our example is a simple route mapping application that lets clients get
information about features on their route, create a summary of their route, and
exchange route information such as traffic updates with the server and other
clients.
With gRPC we can define our service once in a .proto file and implement clients
and servers in any of gRPC's supported languages, which in turn can be run in
environments ranging from servers inside Google to your own tablet - all the
complexity of communication between different languages and environments is
handled for you by gRPC. We also get all the advantages of working with protocol
buffers, including efficient serialization, a simple IDL, and easy interface
updating.
{{< why-grpc >}}
### Example code and setup

View File

@ -21,18 +21,7 @@ language: you can find out more in the
### Why use gRPC?
Our example is a simple route mapping application that lets clients get
information about features on their route, create a summary of their route, and
exchange route information such as traffic updates with the server and other
clients.
With gRPC we can define our service once in a .proto file and implement clients
and servers in any of gRPC's supported languages, which in turn can be run in
environments ranging from servers inside Google to your own tablet - all the
complexity of communication between different languages and environments is
handled for you by gRPC. We also get all the advantages of working with protocol
buffers, including efficient serialization, a simple IDL, and easy interface
updating.
{{< why-grpc >}}
### Example code and setup

View File

@ -22,18 +22,7 @@ guide](https://developers.google.com/protocol-buffers/docs/proto3).
### Why use gRPC?
Our example is a simple route mapping application that lets clients get
information about features on their route, create a summary of their route, and
exchange route information such as traffic updates with the server and other
clients.
With gRPC we can define our service once in a .proto file and implement clients
and servers in any of gRPC's supported languages, which in turn can be run in
environments ranging from servers inside Google to your own tablet - all the
complexity of communication between different languages and environments is
handled for you by gRPC. We also get all the advantages of working with protocol
buffers, including efficient serialization, a simple IDL, and easy interface
updating.
{{< why-grpc >}}
### Example code and setup

View File

@ -23,18 +23,7 @@ guide](https://developers.google.com/protocol-buffers/docs/reference/go-generate
### Why use gRPC?
Our example is a simple route mapping application that lets clients get
information about features on their route, create a summary of their route, and
exchange route information such as traffic updates with the server and other
clients.
With gRPC we can define our service once in a .proto file and implement clients
and servers in any of gRPC's supported languages, which in turn can be run in
environments ranging from servers inside Google to your own tablet - all the
complexity of communication between different languages and environments is
handled for you by gRPC. We also get all the advantages of working with protocol
buffers, including efficient serialization, a simple IDL, and easy interface
updating.
{{< why-grpc >}}
### Example code and setup

View File

@ -25,18 +25,7 @@ guide](https://developers.google.com/protocol-buffers/docs/reference/java-genera
### Why use gRPC?
Our example is a simple route mapping application that lets clients get
information about features on their route, create a summary of their route, and
exchange route information such as traffic updates with the server and other
clients.
With gRPC we can define our service once in a .proto file and implement clients
and servers in any of gRPC's supported languages, which in turn can be run in
environments ranging from servers inside Google to your own tablet - all the
complexity of communication between different languages and environments is
handled for you by gRPC. We also get all the advantages of working with protocol
buffers, including efficient serialization, a simple IDL, and easy interface
updating.
{{< why-grpc >}}
### Example code and setup

View File

@ -22,18 +22,7 @@ buffers language. You can find out more in the
### Why use gRPC?
Our example is a simple route mapping application that lets clients get
information about features on their route, create a summary of their route, and
exchange route information such as traffic updates with the server and other
clients.
With gRPC we can define our service once in a .proto file and implement clients
and servers in any of gRPC's supported languages, which in turn can be run in
environments ranging from servers inside Google to your own tablet - all the
complexity of communication between different languages and environments is
handled for you by gRPC. We also get all the advantages of working with protocol
buffers, including efficient serialization, a simple IDL, and easy interface
updating.
{{< why-grpc >}}
### Example code and setup

View File

@ -22,23 +22,9 @@ guide](https://developers.google.com/protocol-buffers/docs/proto3) and the
[Objective-C generated code
guide](https://developers.google.com/protocol-buffers/docs/reference/objective-c-generated).
### Why use gRPC? {#why-grpc}
### Why use gRPC?
With gRPC you can define your service once in a .proto file and implement
clients and servers in any of gRPC's supported languages, which in turn can be
run in environments ranging from servers inside Google to your own tablet - all
the complexity of communication between different languages and environments is
handled for you by gRPC. You also get all the advantages of working with
protocol buffers, including efficient serialization, a simple IDL, and easy
interface updating.
gRPC and proto3 are specially suited for mobile clients: gRPC is implemented on
top of HTTP/2, which results in network bandwidth savings over using HTTP/1.1.
Serialization and parsing of the proto binary format is more efficient than the
equivalent JSON, resulting in CPU and battery savings. And proto3 uses a runtime
that has been optimized over the years at Google to keep code size to a minimum.
The latter is important in Objective-C, because the ability of the compiler to
strip unused code is limited by the dynamic nature of the language.
{{< why-grpc >}}
### Example code and setup {#setup}

View File

@ -22,15 +22,9 @@ Also note that currently you can only create clients in PHP for gRPC services -
you can find out how to create gRPC servers in our other tutorials, e.g.
[Node.js](/docs/tutorials/basic/node/).
### Why use gRPC? {#why-grpcc}
### Why use gRPC?
With gRPC you can define your service once in a .proto file and implement
clients and servers in any of gRPC's supported languages, which in turn can be
run in environments ranging from servers inside Google to your own tablet - all
the complexity of communication between different languages and environments is
handled for you by gRPC. You also get all the advantages of working with
protocol buffers, including efficient serialization, a simple IDL, and easy
interface updating.
{{< why-grpc >}}
### Example code and setup {#setup}

View File

@ -23,18 +23,7 @@ guide](https://developers.google.com/protocol-buffers/docs/reference/python-gene
### Why use gRPC?
This example is a simple route mapping application that lets clients get
information about features on their route, create a summary of their route, and
exchange route information such as traffic updates with the server and other
clients.
With gRPC you can define your service once in a .proto file and implement
clients and servers in any of gRPC's supported languages, which in turn can be
run in environments ranging from servers inside Google to your own tablet -
all the complexity of communication between different languages and environments
is handled for you by gRPC. You also get all the advantages of working with
protocol buffers, including efficient serialization, a simple IDL, and easy
interface updating.
{{< why-grpc >}}
### Example code and setup

View File

@ -22,18 +22,7 @@ guide](https://developers.google.com/protocol-buffers/docs/proto3).
### Why use gRPC?
Our example is a simple route mapping application that lets clients get
information about features on their route, create a summary of their route, and
exchange route information such as traffic updates with the server and other
clients.
With gRPC we can define our service once in a .proto file and implement clients
and servers in any of gRPC's supported languages, which in turn can be run in
environments ranging from servers inside Google to your own tablet - all the
complexity of communication between different languages and environments is
handled for you by gRPC. We also get all the advantages of working with protocol
buffers, including efficient serialization, a simple IDL, and easy interface
updating.
{{< why-grpc >}}
### Example code and setup

View File

@ -21,12 +21,12 @@ buffers](https://developers.google.com/protocol-buffers/docs/overview).
With gRPC you can define your service once in a .proto file and implement
clients and servers in any of gRPC's supported languages, which in turn can be
run in environments ranging from servers inside Google to your own tablet - all
the complexity of communication between different languages and environments is
handled for you by gRPC. You also get all the advantages of working with
protocol buffers, including efficient serialization, a simple IDL, and easy
interface updating. gRPC-Web lets you access gRPC services built in this manner
from browsers using an idiomatic API.
run in environments ranging from servers inside a large data center to your own
tablet - all the complexity of communication between different languages and
environments is handled for you by gRPC. You also get all the advantages of
working with protocol buffers, including efficient serialization, a simple IDL,
and easy interface updating. gRPC-Web lets you access gRPC services built in this
manner from browsers using an idiomatic API.
### Define the Service {#setup}

12
includes/why-grpc.md Normal file
View File

@ -0,0 +1,12 @@
Our example is a simple route mapping application that lets clients get
information about features on their route, create a summary of their route, and
exchange route information such as traffic updates with the server and other
clients.
With gRPC we can define our service once in a `.proto` file and generate clients
and servers in any of gRPC's supported languages, which in turn can be run in
environments ranging from servers inside a large data center to your own tablet —
all the complexity of communication between different languages and environments is
handled for you by gRPC. We also get all the advantages of working with protocol
buffers, including efficient serialization, a simple IDL, and easy interface
updating.

View File

@ -0,0 +1 @@
{{ readFile "includes/why-grpc.md" | markdownify }}