Introduction

RESTを使って、簡単なクラサバアプリを構築したのですが、

  • バイナリの転送が重い
    • jsonまたはxmlで返すから、BASE64で通信量が増える

というのが、制約になって食指が動きません。

そんな中、gRPC なるGoogleが作ったHTTP/2を標準でサポートした新しいRPC (Remote Procedure Call ) フレームワークを見つけました。
2015年2月に発表されたらしいので、今さら感が漂いますが…

HTTP/2を基礎としており、Protocol Buffersを使ってサービスを定義するので高速な通信が可能、と最新技術を使っているのも、カッコいい。
素晴らしいのは、言語サポートが広く、公式ページによれば、

  • C++
  • Java
  • Python
  • Go
  • Ruby
  • Node.js
  • C#
  • Objective-C
  • Android
  • Java
  • PHP

をサポートしています。
C#をサポートしているので、試してみないわけにはいきません。
Pythonもサポートしており、簡単にテストできそうです。

Preparation

自分でビルドするか、nugetでインストールもできます。
お手軽に nuget でインストールします。

簡単ですね。

Conclusion

今回は導入のみ。
次回は、C#-Pythonで通信してみます。