Google Protocol Buffers or something similar for .net/javascript

倾然丶 夕夏残阳落幕 提交于 2019-12-03 08:54:39

If the client is javascript, I think you'll struggle. There is (as you've stated) limited javascript coverage, but I'm not sure it will gain you a lot. To quote from Kenton Varda (who really knows protobuf):

One problem with javascript and protobuf is that you need a lot of support code to parse the messages. Unless you end up sending quite a lot of stuff back and forth, making the user download a JS protobuf codec library may be a net loss. It may be better to use JSON or XML because browsers already have built-in support for those.

That said, I think various people inside google have been playing with javascript + protocol buffers for awhile and if we end up with anything that works well enough, we'll release it.

So maybe there is hope down the road. For now I would stick with json + deflate, or if your scenario allows it you could perhaps use a Silverlight applet embedded in the client? protobuf-net will work inside Silverlight.

Parand

You may find JSON is in fact the best answer. Justin has done a series of performance comparisons of JSON to Thrift and Protocol Buffers and found compressed JSON to be faster than protocol buffers, at least in Python. Here's an earlier thread on the topic.

StaxMan

As mentioned, using binary protocols from javascript is problematic. Some specifically nasty aspects are:

And performance is very unlikely to be faster, compared to native support for JSON or XML.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!