谷歌开源 Kotlin 版本 gRPC
谷歌開源了gRPC-Kotlin/JVM,讓開發者可以在 Kotlin 項目中更方便地使用 gRPC,以更簡單的方式構建可靠的網絡連接服務。
gRPC 是谷歌開源的高性能、通用 RPC 框架,支持多種編程語言,包括 C++、Java、Objective-C、Python、Ruby、Go、C# 與 Node.js 等。gRPC 基于 Protocol Buffers,它面向移動和基于 HTTP/2 標準設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多復用請求等特性。這些特性使得其在移動設備上表現更好,更省電且節省空間占用。
谷歌認為,將 gRPC 與世界上第二流行的 JVM 編程語言 Kotlin 結合,開發者可以構建從移動應用程序到云端微服務的一切。此項目構建在 gRPC 的 Java API 之上,提供了對 Kotlin 友好的 gRPC 類,支持 Kotlin 協程。
下面來看一個例子。首先需要一個 proto 定義,這是一個語言無關的服務接口定義:
message HelloRequest { string name = 1;}message HelloReply { string message = 1;}service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {}}
運行 gRPC Kotlin 生成器之后,能夠以協程的形式實現服務:
private class HelloWorldService: GreeterCoroutineImplBase () { override suspend fun sayHello (request: HelloRequest) = HelloReply .newBuilder () .setMessage ("Hello ${request.name}") .build ()}
并從客戶端異步調用它:
val request = HelloRequest.newBuilder () .setName (name) .build () val response = async { stub.sayHello (request) }println ("Received: ${response.await () .message}")
協程非常適合用于異步編程,而 Kotlin 版本的 gRPC 則使它變得更容易。
開發者如果希望在自己的項目中使用gRPC Kotlin,需要同時添加生成器和 grpc-java 配置。目前 gRPC Kotlin 仍處于測試階段,初始版本為 0.1.1 版本。
詳細內容點此查看。
總結
以上是生活随笔為你收集整理的谷歌开源 Kotlin 版本 gRPC的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 微软将于 5 月推出新的 Windows
- 下一篇: 荣耀v20电池多少钱一块,重新换个标题
