谷歌宣布在 Kotlin 中支持 Protocol Buffers 数据格式

语言: CN / TW / HK

谷歌宣布在 Kotlin 中支持 Protocol Buffers 数据格式

kotlin-support-for-protocol-buffers

近日, 谷歌宣布在 Kotlin 中支持 Protocol Buffers ,进一步加深对 Kotlin 这门编程语言的投资。Protocol Buffers 是谷歌开发的一种 类似于 XML  的 数据交换格式, 能够将结构化数据序列化, 拥有 语言中立、平台中立、可扩展等特性,可用于数据存储、通信协议等方面。

去年,谷歌公布了对 gRPC 的 Kotlin 支持,这个开源远程过程调用 (RPC) 框架为 Google 的数千个微服务提供支持。而出于对 Kotlin 这门语言的表现力、安全性和跟 Java 双向互操作性的喜爱,谷歌表示,未来将大力投资 Kotlin 语言和生态系统,Android 开发以 Kotlin 优先,后端服务的构建也尽量用 Kotlin 。

现在,开发者可以使用 proto 编译器中新内置的 Kotlin 支持,来生成惯用的 Kotlin 领域特定语言 (DSL)。例如,这里有一个简单的 protocol buffer 消息,代表掷骰子:

在 Java 中是这样的:

现在,protos 提供了一组表达性的 DSL 构建方法,让这段代码在 Kotlin 中变得更简洁,下面是使用新的 Kotlin 原型绑定编写的骰子代码:

可以看到,Kotlin 版本使用 Kotlin 类型安全构建器,让代码更加简洁,而且不需要显式调用 build 方法。

谷歌博客原文中还介绍了关于 Kotlin Protos 和 gRPC Kotlin 的一些交互示例,可点此查看 Protocol Buffers 和gRPC Kotlin 的详细介绍。