开发者

Google Protocol Buffers: JavaScript Example

Is it a good choice to use Google Protocol Buffers in JavaScript or is it better to do it with JSO开发者_运维问答N?

Also it'd be great if someone can give me a simple example about Protocol Buffers implementation in JavaScript. The documentation on the Google's site is scarce.


[edit] Google's open source implementation of protocol buffers is available on GitHub


The official protobuf project support only Java, C++, and Python. Not JavaScript.

According to the Wiki of the project, there are three projects porting protocol buffers to 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 is up to date. protobuf-js has not been updated for two years, so I would favor Protobuf.js.

The question still is "Why?": protobuf may be a bit smaller, especially when a lot of numeric values are transferred, but JSON is simply the more common protocol in the JS space and probably better supported and easier to integrate into other tools.


Update (28/7/2016): Release 3.0.0 was published - supporting Javascript and other languages as well - in addition to some other features.

Google have recently added alpha support for JS to protobufs: https://github.com/google/protobuf/releases/tag/v3.0.0-beta-2

Usage:

protoc -I=$SRC_DIR --js_out=$DST_DIR $SRC_DIR/addressbook.proto

Screenshots from the release documentation:

Google Protocol Buffers: JavaScript Example

Google Protocol Buffers: JavaScript Example


Protobuf 3.0.0 is out: https://github.com/google/protobuf/releases/tag/v3.0.0

And it support JavaScript natively. The basic information is in the announcement.

We are going to look into it soon.


Try Protostuff!

I had a bit of hard time configuring but I'm sure that was more of my issue. You can serialize/deserialize a protobuff/protostuff message to/from JSON. I'm at the early stages of using this but it looks promising so far.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜