在 JavaScript 中使用 Google Protocol Buffers 是一个不错的选择还是使用 JSON 更好?
另外,如果有人能给我一个关于 JavaScript 中协议缓冲区实现的简单示例,那就太好了。Google 网站上的文档很少。
在 JavaScript 中使用 Google Protocol Buffers 是一个不错的选择还是使用 JSON 更好?
另外,如果有人能给我一个关于 JavaScript 中协议缓冲区实现的简单示例,那就太好了。Google 网站上的文档很少。
[编辑] Google 的协议缓冲区的开源实现可在github 上找到
官方 protobuf 项目仅支持 Java、C++ 和 Python。不是 JavaScript。
根据该项目的 Wiki,有三个项目将协议缓冲区移植到 Javascript。
Protobuf.js 是最新的。protobuf-js 已经两年没有更新了,所以我更喜欢 Protobuf.js。
问题仍然是“为什么”?:protobuf 可能更小一些,尤其是在传输大量数值时,但 JSON 只是 JS 空间中更常见的协议,并且可能得到更好的支持并且更容易集成到其他工具中。
更新(28/7/2016): 发布 3.0.0 版- 除了一些其他功能外,还支持 Javascript 和其他语言。
谷歌最近向 protobufs 添加了对 JS 的 alpha 支持:https : //github.com/google/protobuf/releases/tag/v3.0.0-beta-2
用法:
protoc -I=$SRC_DIR --js_out=$DST_DIR $SRC_DIR/addressbook.proto
发布文档的截图:
Protobuf 3.0.0 已发布:https : //github.com/google/protobuf/releases/tag/v3.0.0
并且它本机支持 JavaScript。基本信息以公告为准。
我们很快就会研究它。
试试Protostuff吧!
我在配置时遇到了一些困难,但我确信那更多是我的问题。您可以将 protobuff/protostuff 消息序列化/反序列化到/从 JSON。我正处于使用它的早期阶段,但到目前为止它看起来很有希望。