首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Protobuf向后兼容性和proto3 vs proto2

Protobuf向后兼容性和proto3 vs proto2
EN

Stack Overflow用户
提问于 2016-11-18 23:05:34
回答 1查看 8.8K关注 0票数 4

Protobuf的卖点之一是向后兼容性,即开发人员可以进化格式,较老的客户端仍然可以使用它。

现在有了名为proto3的新Protobuf版本,IDL语言本身与optionsrequired where dropped、新的enuns语法、无扩展等内容不兼容。

这是否意味着使用proto3就无法生成旧版proto2也能读取/理解的二进制文件?

这就像你必须继续使用proto2一样。如果你开始使用proto3,你就无法与旧系统对话,或者不得不重写、重新编译所有那些首先破坏兼容性的.proto

EN

回答 1

Stack Overflow用户

发布于 2016-11-20 22:33:10

是的,如果您的一些系统是基于proto2的,那么最好继续使用proto2。在我看来,proto3没有引入很多新特性,大多数库将继续支持proto2。

但是,wire格式基本上是兼容的。只要标签号相同,编码就保持不变。必需/可选说明符不会影响编码,它们只是在解码后执行的检查。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40680273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档