有没有一种方法可以在JavaScript中实现协议缓冲区?
为什么是.js?
如果您考虑一下科学的需求,就会出现一些情况,您可能希望向客户端发送大量数据。有了CRUD风格,你用什么就不重要了。对于科学的东西,它是重要的(至少我认为它是重要的)。
权衡:
参考资料:
社区提供的其他参考资料(详见下文):
发布于 2012-04-14 19:39:06
我一直在寻找javascript的protobuf。这里有一个项目:https://github.com/dcodeIO/ProtoBuf.js
发布于 2011-08-18 14:55:12
Google在JS (GMail等)中大量使用了协议缓冲区。通过它们的闭包库,用(不幸的是,非开源的)修改的protoc生成JS代码(在开源之前,它可能必须移植到protoc扩展中)。
Apache (其客户端webapp是用GWT构建的)还使用协议缓冲区与服务器通信,通过反思protoc生成的Java类生成Java代码(这是PST,也就是protobuf- server模板,子项目)。
以前,Wave使用的是原物 (我不知道为什么他们会选择自己的解决方案,我怀疑PST是从最初的Google中派生出来的,而原型只是开源过程中的一个中间步骤)。
顺便提一句,不久前,我开始在浏览器端使用协议缓冲区:http://blog.ltgt.net/exploring-using-protobuf-in-the-browser/ & http://blog.ltgt.net/using-protobuf-client-side-with-gwt,在http://code.google.com/p/protobuf-gwt/上使用了一些您可能想要恢复的几乎工作的代码。
最后,正在进行的工作是使GWT RequestFactory代理与protoc生成的服务器端Java类兼容(您可以使用protoc扩展或类似的protoc方法来生成RequestFactory代理)。如果您一直在服务器端使用构建器(这并不完全是协议缓冲Java的设计方式),这应该是可能的。
发布于 2011-08-16 06:15:56
从历史上看,javascript使使用二进制文件变得很痛苦,这可能在一定程度上解释了相对缺乏工具的原因--但对于javascript类型的数组,现在可能要容易得多。我有点同意,如果您必须获得相同的数据量(通过某种格式),使用较少的带宽是一个好处-但在开始任何事情之前,您需要检查带宽/处理是一个实际的瓶颈(如果带宽:您曾经尝试过gzip/deflate第一次)。
我是protobuf的粉丝--我很乐意看到更强大的浏览器端工具,但是json无处不在,你需要一个令人信服的理由来挑战现状。还有,想想"jsonp“吧。
https://stackoverflow.com/questions/7074147
复制相似问题