两者都是序列化库,均由 Google 开发人员开发。他们之间有什么大的区别吗?使用 Protocol Buffers 转换代码是不是很麻烦?使用FlatBuffers ?
最佳答案
我在这里写了一些序列化系统的详细比较,包括 Protobufs 和 FlatBuffers:
https://kentonv.github.io/capnproto/news/2014-06-17-capnproto-flatbuffers-sbe.html
但是,比较更侧重于比较三个新的“零复制”序列化系统,并且主要包括 Protobuf 作为引用点。另外,我是 Cap'n Proto 的作者,也是 Protobufs v2 的作者(我在 Google 负责开源 Protobufs),所以这种比较可能会有偏差。
(2021 年更新:)请注意,Protobufs 早在 2001 年左右就在 Google 引入,至今仍然是那里的“通用语言”。 FlatBuffers 于 2014 年推出,并在一些项目中使用,但 Protobuf 仍然是 Google 的主要数据交换格式,并且无意改变这一点。公平地说,如果 Google 愿意的话,他们可能无法改变这一点,因为代码太多了。
关于protocol-buffers - Protocol Buffer 和 Flatbuffer 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25356551/