Transpiling .proto files
We are finally ready to generate some code from the .proto
file. And even though we are going to use the compiler for other tasks, this is the main one you will use protoc
for. In this section, we will generate code in C++ and Go. This is not a random choice. One is a directly supported language for protoc
, and the other is supported by adding/downloading a protoc
plugin. By seeing how to generate code for these two languages, you should be able to generate code for any other language.
Why code generation?
Before even generating code, we need to understand what the point of generating code from a .proto
file is. As of now, we mostly talked about Protobuf as an abstract concept being able to serialize and deserialize data. But, in later chapters, we will start using Protobuf serialization and deserialization in code.
To do so, instead of adding a dependency and calling exposed functions, Protobuf relies on generated code to manage all calls to the lower...