在JavaScript中使用Google Protocol Buffers是一个不错的选择还是使用JSON更好?
此外,如果有人能给我一个关于JavaScript中的Protocol Buffers实现的简单示例。因为谷歌的网站我觉得它很差。
答案 0 :(得分:72)
[edit] Google github
提供了协议缓冲区的开源实现官方protobuf项目仅支持Java,C ++和Python。不是Javascript。
根据该项目的Wiki,有三个项目将协议缓冲区移植到Javascript。
Protobuf.js是最新的。 protobuf-js两年没有更新,所以我赞成Protobuf.js。
问题仍然是“为什么”?:protobuf可能会小一些,特别是在传输大量数值时,但JSON只是JS空间中更常见的协议,可能更好地支持并更容易集成到其他工具。
答案 1 :(得分:30)
更新(2016年7月28日): Release 3.0.0 was published - 支持Javascript和其他语言 - 以及其他一些功能。
Google最近将JS支持JS添加到protobufs:https://github.com/google/protobuf/releases/tag/v3.0.0-beta-2
用法:
protoc -I=$SRC_DIR --js_out=$DST_DIR $SRC_DIR/addressbook.proto
发布文档中的屏幕截图:
答案 2 :(得分:2)
Protobuf 3.0.0已淘汰: https://github.com/google/protobuf/releases/tag/v3.0.0
它原生支持JavaScript。基本信息在公告中。
我们很快就会调查一下。
答案 3 :(得分:0)
试试Protostuff!
我在配置上遇到了一些困难,但我确信这更多是我的问题。您可以向/从JSON序列化/反序列化protobuff / protostuff消息。我现在处于使用它的早期阶段,但到目前为止看起来很有希望。