Google Protocol Buffers – JavaScript

在JavaScript中使用Google协议缓冲区是一个不错的select,还是使用JSON更好?

另外如果有人可以给我一个简单的例子,在JavaScript中实现Protocol Buffers。 因为在Google的网站上,我认为它很差。

Google的协议缓冲区的开源实现可以在github上find


官方的protobuf项目只支持Java,C ++和Python。 不是Javascript。

根据该项目的Wiki,有三个项目将协议缓冲区移植到Javascript。

  • Protobuf.js: https : //github.com/dcodeIO/ProtoBuf.js
  • protobuf-js: http : //code.google.com/p/protobuf-js/
  • protojs: http ://github.com/sirikata/protojs

Protobuf.js是最新的。 protobuf-js还没有更新两年,所以我会赞成Protobuf.js。

问题仍然是“为什么”?:protobuf可能会小一些,尤其是当传送大量数值时,但JSON只是JS空间中较为常用的协议,可能支持更好,更易于集成到其他工具中。

更新 (28/7/2016): 版本3.0.0发布 – 支持Javascript和其他语言以及其他一些function。

Google最近为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 !

我有一些困难的时间configuration,但我相信这是我的问题更多。 您可以序列化/反序列化JSON中的protobuff / protostuff消息。 我在使用这个早期阶段,但它看起来很有希望。