Language Guide (proto3) | proto3 语言指南(开篇)
前言
近日在学习gRPC
框架的相关知识时接触到Protobuf
(protocol-buffers,协议缓冲区),proto3
等知识。网上很多文章/帖子经常把gRPC与proto3放在一起,为避免初学者产生混淆,这里先简单介绍一下gRPC、Protobuf、proto3三者以及他们之间的关系:
- gRPC:一个高性能、开源的通用RPC框架,它可以使用Protobuf定义服务
- Protobuf:协议缓冲区是一种与语言无关、与平台无关的可扩展机制,用于序列化结构化的数据(参考JSON)
- proto3:proto是一种语言规范,Protobuf就遵循这种语言规范,目前最高版本是proto3
本文是系列随笔Language Guide (proto3) | gRPC proto3 语言指南的开篇。本系列翻译自官方文档,翻译过程中尽量客观准确,但或有笔者自己的理解。如您在阅读过程中发现不严谨或不准确之处,还请留言指正。
系列目录:
- Language Guide (proto3) | proto3 语言指南(一)定义消息类型
- Language Guide (proto3) | proto3 语言指南(二)标量值类型
- Language Guide (proto3) | proto3 语言指南(三)默认值
- Language Guide (proto3) | proto3 语言指南(四)枚举类型
- Language Guide (proto3) | proto3 语言指南(五)使用其他消息类型
- Language Guide (proto3) | proto3 语言指南(六)嵌套类型
- Language Guide (proto3) | proto3 语言指南(七)更新消息类型
- Language Guide (proto3) | proto3 语言指南(八)未知字段和任意类型
- Language Guide (proto3) | proto3 语言指南(九)Oneof结构
- Language Guide (proto3) | proto3 语言指南(十)映射
- Language Guide (proto3) | proto3 语言指南(十一)包
- Language Guide (proto3) | proto3 语言指南(十二)定义服务
- Language Guide (proto3) | proto3 语言指南(十三)JSON映射
- Language Guide (proto3) | proto3 语言指南(十四)选项
- Language Guide (proto3) | proto3 语言指南(十五)生成类
开篇
本指南介绍如何使用协议缓冲区语言来构造协议缓冲区数据,包括文件语法以及如何从文件生成数据访问类。它涵盖了协议缓冲区语言的proto3版本。有关proto2语法的信息,请参阅proto2 语言指南。
这是一个参考指南-如果你想要逐步使用本文档中描述的许多特性,请参阅所选语言的教程(目前仅proto2;更多proto3文档即将提供)。
ps: 本文是proto3版本的通用参考指南,如果你想要使用一些其他的特性,可以参考对应语言(C++、C#、Dart、Go、Java、Python)的教程。但是这些教程仅支持proto2,proto3版本的文档尚待提供。