protobuf.js反射与静态代码

时间:2017-05-31 18:32:52

标签: javascript protocol-buffers protobuf.js

我无法弄清楚何时使用加载.proto文件(反射)的方法以及何时使用pbjs脚本/工具生成静态代码更好。

带反射的方法:

protobuf.load("awesome.proto", function(err, root) {
   ...
});

带静态代码的方法:

protobuf.load("bundle.json", function(err, root) {
    ...
});

根据protobuf.js Wiki,两种方法的表现相同。

有人可以向我解释哪种方法是出于何种目的?

我在互联网上搜索了很多但是无法得到这个问题的答案。我并没有陷入编码的角度,而是想弄清楚哪种方法更适合。

1 个答案:

答案 0 :(得分:0)

关于性能的声明仅涉及(反)序列化功能的使用,而不是关于设置。来自您链接的文档:

.proto

  • 需要完整
  • 大量网络请求和解析器开销

.json

  • 需要灯光
  • 对于生产环境,
  • 捆绑建议,提前解析

编译

  • 生成的静态代码,仅适用于最小
  • 生成额外的,虽然可编辑的源代码,但没有任何反射功能