1*cc02d7e2SAndroid Build Coastguard Worker# gRPC – An RPC library and framework 2*cc02d7e2SAndroid Build Coastguard Worker 3*cc02d7e2SAndroid Build Coastguard WorkergRPC is a modern, open source, high-performance remote procedure call (RPC) 4*cc02d7e2SAndroid Build Coastguard Workerframework that can run anywhere. gRPC enables client and server applications to 5*cc02d7e2SAndroid Build Coastguard Workercommunicate transparently, and simplifies the building of connected systems. 6*cc02d7e2SAndroid Build Coastguard Worker 7*cc02d7e2SAndroid Build Coastguard Worker<table> 8*cc02d7e2SAndroid Build Coastguard Worker <tr> 9*cc02d7e2SAndroid Build Coastguard Worker <td><b>Homepage:</b></td> 10*cc02d7e2SAndroid Build Coastguard Worker <td><a href="https://grpc.io/">grpc.io</a></td> 11*cc02d7e2SAndroid Build Coastguard Worker </tr> 12*cc02d7e2SAndroid Build Coastguard Worker <tr> 13*cc02d7e2SAndroid Build Coastguard Worker <td><b>Mailing List:</b></td> 14*cc02d7e2SAndroid Build Coastguard Worker <td><a href="https://groups.google.com/forum/#!forum/grpc-io">[email protected]</a></td> 15*cc02d7e2SAndroid Build Coastguard Worker </tr> 16*cc02d7e2SAndroid Build Coastguard Worker</table> 17*cc02d7e2SAndroid Build Coastguard Worker 18*cc02d7e2SAndroid Build Coastguard Worker[](https://gitter.im/grpc/grpc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 19*cc02d7e2SAndroid Build Coastguard Worker 20*cc02d7e2SAndroid Build Coastguard Worker## To start using gRPC 21*cc02d7e2SAndroid Build Coastguard Worker 22*cc02d7e2SAndroid Build Coastguard WorkerTo maximize usability, gRPC supports the standard method for adding dependencies 23*cc02d7e2SAndroid Build Coastguard Workerto a user's chosen language (if there is one). In most languages, the gRPC 24*cc02d7e2SAndroid Build Coastguard Workerruntime comes as a package available in a user's language package manager. 25*cc02d7e2SAndroid Build Coastguard Worker 26*cc02d7e2SAndroid Build Coastguard WorkerFor instructions on how to use the language-specific gRPC runtime for a project, 27*cc02d7e2SAndroid Build Coastguard Workerplease refer to these documents 28*cc02d7e2SAndroid Build Coastguard Worker 29*cc02d7e2SAndroid Build Coastguard Worker- [C++](src/cpp): follow the instructions under the `src/cpp` directory 30*cc02d7e2SAndroid Build Coastguard Worker- [C#/.NET](https://github.com/grpc/grpc-dotnet): NuGet packages 31*cc02d7e2SAndroid Build Coastguard Worker `Grpc.Net.Client`, `Grpc.AspNetCore.Server` 32*cc02d7e2SAndroid Build Coastguard Worker- [Dart](https://github.com/grpc/grpc-dart): pub package `grpc` 33*cc02d7e2SAndroid Build Coastguard Worker- [Go](https://github.com/grpc/grpc-go): `go get google.golang.org/grpc` 34*cc02d7e2SAndroid Build Coastguard Worker- [Java](https://github.com/grpc/grpc-java): Use JARs from Maven Central 35*cc02d7e2SAndroid Build Coastguard Worker Repository 36*cc02d7e2SAndroid Build Coastguard Worker- [Kotlin](https://github.com/grpc/grpc-kotlin): Use JARs from Maven Central 37*cc02d7e2SAndroid Build Coastguard Worker Repository 38*cc02d7e2SAndroid Build Coastguard Worker- [Node](https://github.com/grpc/grpc-node): `npm install @grpc/grpc-js` 39*cc02d7e2SAndroid Build Coastguard Worker- [Objective-C](src/objective-c): Add `gRPC-ProtoRPC` dependency to podspec 40*cc02d7e2SAndroid Build Coastguard Worker- [PHP](src/php): `pecl install grpc` 41*cc02d7e2SAndroid Build Coastguard Worker- [Python](src/python/grpcio): `pip install grpcio` 42*cc02d7e2SAndroid Build Coastguard Worker- [Ruby](src/ruby): `gem install grpc` 43*cc02d7e2SAndroid Build Coastguard Worker- [WebJS](https://github.com/grpc/grpc-web): follow the grpc-web instructions 44*cc02d7e2SAndroid Build Coastguard Worker 45*cc02d7e2SAndroid Build Coastguard WorkerPer-language quickstart guides and tutorials can be found in the 46*cc02d7e2SAndroid Build Coastguard Worker[documentation section on the grpc.io website](https://grpc.io/docs/). Code 47*cc02d7e2SAndroid Build Coastguard Workerexamples are available in the [examples](examples) directory. 48*cc02d7e2SAndroid Build Coastguard Worker 49*cc02d7e2SAndroid Build Coastguard WorkerPrecompiled bleeding-edge package builds of gRPC `master` branch's `HEAD` are 50*cc02d7e2SAndroid Build Coastguard Workeruploaded daily to [packages.grpc.io](https://packages.grpc.io). 51*cc02d7e2SAndroid Build Coastguard Worker 52*cc02d7e2SAndroid Build Coastguard Worker## To start developing gRPC 53*cc02d7e2SAndroid Build Coastguard Worker 54*cc02d7e2SAndroid Build Coastguard WorkerContributions are welcome! 55*cc02d7e2SAndroid Build Coastguard Worker 56*cc02d7e2SAndroid Build Coastguard WorkerPlease read [How to contribute](CONTRIBUTING.md) which will guide you through 57*cc02d7e2SAndroid Build Coastguard Workerthe entire workflow of how to build the source code, how to run the tests, and 58*cc02d7e2SAndroid Build Coastguard Workerhow to contribute changes to the gRPC codebase. The "How to contribute" document 59*cc02d7e2SAndroid Build Coastguard Workeralso contains info on how the contribution process works and contains best 60*cc02d7e2SAndroid Build Coastguard Workerpractices for creating contributions. 61*cc02d7e2SAndroid Build Coastguard Worker 62*cc02d7e2SAndroid Build Coastguard Worker## Troubleshooting 63*cc02d7e2SAndroid Build Coastguard Worker 64*cc02d7e2SAndroid Build Coastguard WorkerSometimes things go wrong. Please check out the 65*cc02d7e2SAndroid Build Coastguard Worker[Troubleshooting guide](TROUBLESHOOTING.md) if you are experiencing issues with 66*cc02d7e2SAndroid Build Coastguard WorkergRPC. 67*cc02d7e2SAndroid Build Coastguard Worker 68*cc02d7e2SAndroid Build Coastguard Worker## Performance 69*cc02d7e2SAndroid Build Coastguard Worker 70*cc02d7e2SAndroid Build Coastguard WorkerSee the [Performance dashboard](https://grafana-dot-grpc-testing.appspot.com/) 71*cc02d7e2SAndroid Build Coastguard Workerfor performance numbers of master branch daily builds. 72*cc02d7e2SAndroid Build Coastguard Worker 73*cc02d7e2SAndroid Build Coastguard Worker## Concepts 74*cc02d7e2SAndroid Build Coastguard Worker 75*cc02d7e2SAndroid Build Coastguard WorkerSee [gRPC Concepts](CONCEPTS.md) 76*cc02d7e2SAndroid Build Coastguard Worker 77*cc02d7e2SAndroid Build Coastguard Worker## About This Repository 78*cc02d7e2SAndroid Build Coastguard Worker 79*cc02d7e2SAndroid Build Coastguard WorkerThis repository contains source code for gRPC libraries implemented in multiple 80*cc02d7e2SAndroid Build Coastguard Workerlanguages written on top of a shared C++ core library [src/core](src/core). 81*cc02d7e2SAndroid Build Coastguard Worker 82*cc02d7e2SAndroid Build Coastguard WorkerLibraries in different languages may be in various states of development. We are 83*cc02d7e2SAndroid Build Coastguard Workerseeking contributions for all of these libraries: 84*cc02d7e2SAndroid Build Coastguard Worker 85*cc02d7e2SAndroid Build Coastguard WorkerLanguage | Source 86*cc02d7e2SAndroid Build Coastguard Worker------------------------- | ---------------------------------- 87*cc02d7e2SAndroid Build Coastguard WorkerShared C++ [core library] | [src/core](src/core) 88*cc02d7e2SAndroid Build Coastguard WorkerC++ | [src/cpp](src/cpp) 89*cc02d7e2SAndroid Build Coastguard WorkerRuby | [src/ruby](src/ruby) 90*cc02d7e2SAndroid Build Coastguard WorkerPython | [src/python](src/python) 91*cc02d7e2SAndroid Build Coastguard WorkerPHP | [src/php](src/php) 92*cc02d7e2SAndroid Build Coastguard WorkerC# (core library based) | [src/csharp](src/csharp) 93*cc02d7e2SAndroid Build Coastguard WorkerObjective-C | [src/objective-c](src/objective-c) 94*cc02d7e2SAndroid Build Coastguard Worker 95*cc02d7e2SAndroid Build Coastguard WorkerLanguage | Source repo 96*cc02d7e2SAndroid Build Coastguard Worker-------------------- | -------------------------------------------------- 97*cc02d7e2SAndroid Build Coastguard WorkerJava | [grpc-java](https://github.com/grpc/grpc-java) 98*cc02d7e2SAndroid Build Coastguard WorkerKotlin | [grpc-kotlin](https://github.com/grpc/grpc-kotlin) 99*cc02d7e2SAndroid Build Coastguard WorkerGo | [grpc-go](https://github.com/grpc/grpc-go) 100*cc02d7e2SAndroid Build Coastguard WorkerNodeJS | [grpc-node](https://github.com/grpc/grpc-node) 101*cc02d7e2SAndroid Build Coastguard WorkerWebJS | [grpc-web](https://github.com/grpc/grpc-web) 102*cc02d7e2SAndroid Build Coastguard WorkerDart | [grpc-dart](https://github.com/grpc/grpc-dart) 103*cc02d7e2SAndroid Build Coastguard Worker.NET (pure C# impl.) | [grpc-dotnet](https://github.com/grpc/grpc-dotnet) 104*cc02d7e2SAndroid Build Coastguard WorkerSwift | [grpc-swift](https://github.com/grpc/grpc-swift) 105