Google’s open source implementation of protocol buffers is available on github
- 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.
Google have recently added alpha support for JS to 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
Screenshots from the release documentation:
Protobuf 3.0.0 is out:
We are going to look into it soon.
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.