Sitelet https://github.com/feuyeux/hello-grpc
Skip to content

Latest commit

 

History

250 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hello gRPC

Comprehensive gRPC examples and tutorials across 12 programming languages

Learn gRPC with comprehensive tutorials, examples, and best practices for Java, Go, Python, Node.js, Rust, C++, C#, Kotlin, Swift, Dart, PHP, and TypeScript


A comprehensive collection of gRPC examples and tutorials covering microservices, distributed systems, and modern API development across multiple programming languages.

GitHub stars GitHub forks GitHub issues GitHub license Docker Pulls

This repository demonstrates comparable gRPC implementations across 12 programming languages, with Docker, Kubernetes, gateway, service mesh, TLS, and observability examples. It is a learning and interoperability repository rather than a drop-in production platform.

On macOS 26+ with Apple silicon, the Dockerfile-based build and run scripts can use Apple's container OCI runtime; see docker/CONTAINER_RUNTIME.md.

Supported Programming Languages & Frameworks

Each implementation covers the same four RPC shapes and shared protobuf contract. Ecosystem-specific capabilities and verification status can differ; see the feature parity matrix for the audited details.

No. Language gRPC Library Recommended IDE
1 C++ gRPC CLion
2 Rust Tonic RustRover
3 Java gRPC-Java IntelliJ IDEA
4 Go gRPC-Go GoLand
5 C# gRPC-dotnet Rider
6 Python grpcio PyCharm
7 Node.js @grpc/grpc-js WebStorm
8 TypeScript gRPC-js WebStorm
9 Dart grpc-dart PyCharm
10 Kotlin gRPC-Kotlin IntelliJ IDEA
11 Swift gRPC-Swift Xcode
12 PHP gRPC-PHP PhpStorm

gRPC Architecture & Communication Patterns

gRPC Architecture Diagram

Communication Models

  1. Unary RPC - Simple request-response (like HTTP REST)
  2. Server Streaming - One request, multiple responses
  3. Client Streaming - Multiple requests, one response
  4. Bidirectional Streaming - Both sides send multiple messages independently

Architecture Patterns

  • Microservices - Service-to-service communication
  • API Gateway - HTTP/REST to gRPC transcoding
  • Load Balancing - Client-side and server-side strategies
  • Service Discovery - Consul, etcd, Kubernetes DNS integration
  • Resilience - Circuit breakers, retries, fault tolerance

Feature Implementation Status

Implementation Matrix

Language Headers TLS Proxy Docker Build System Unit Testing Logging
Java ✅ ✅ mTLS ✅ ✅ Maven JUnit 5 Log4j2
Go ✅ ✅ mTLS ✅ ✅ Go Modules Go Testing Logrus
Node.js ✅ ✅ TLS ✅ ✅ npm Mocha Winston
TypeScript ✅ ✅ TLS ✅ ✅ npm & TSC Mocha / ts-mocha Winston
Python ✅ ✅ mTLS ✅ ✅ pip unittest logging
Rust ✅ ✅ mTLS ✅ ✅ Cargo Rust Test log4rs
C++ ✅ ✅ mTLS ✅ ✅ Bazel/CMake Catch2 glog
C# ✅ ✅ mTLS ✅ ✅ NuGet NUnit log4net
Kotlin ✅ ✅ mTLS ✅ ✅ Gradle JUnit 5 Log4j2
Swift ✅ ✅ TLS ✅ ✅ SPM Swift Testing swift-log
Dart ✅ ✅ TLS ✅ ✅ Pub Test Logger
PHP ✅ ✅ mTLS ✅ ✅ Composer PHPUnit Monolog

The matrix above describes repository implementation paths. Runtime support still depends on the host toolchain and upstream libraries; the parity matrix records the latest commands and known platform blockers.

Project Statistics

Repo size Last commit Commit activity Contributors

Star history: star-history.com/#feuyeux/hello-grpc. The live embed was removed because GitHub now restricts the stargazer timeline API to repository collaborators, so third-party star charts cannot render without an owner-supplied token (details).

About

Demonstrate gRPC examples in 12 programming languages.

Resources

Stars

19 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages