首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于JavaScript的协议缓冲区?

用于JavaScript的协议缓冲区?
EN

Stack Overflow用户
提问于 2011-08-16 05:58:47
回答 3查看 13K关注 0票数 23

有没有一种方法可以在JavaScript中实现协议缓冲区?

为什么是.js?

如果您考虑一下科学的需求,就会出现一些情况,您可能希望向客户端发送大量数据。有了CRUD风格,你用什么就不重要了。对于科学的东西,它是重要的(至少我认为它是重要的)。

权衡:

  • 原型平衡紧凑,序列化和反序列化速度很好。
  • 基于文本的协议(xml / json)具有更大的消息大小.但对于javascript,我想知道哪一个更有效。

参考资料:

社区提供的其他参考资料(详见下文):

  • https://github.com/dcodeIO/ProtoBuf.js
  • 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/
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-14 19:39:06

我一直在寻找javascript的protobuf。这里有一个项目:https://github.com/dcodeIO/ProtoBuf.js

票数 7
EN

Stack Overflow用户

发布于 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的设计方式),这应该是可能的。

票数 14
EN

Stack Overflow用户

发布于 2011-08-16 06:15:56

从历史上看,javascript使使用二进制文件变得很痛苦,这可能在一定程度上解释了相对缺乏工具的原因--但对于javascript类型的数组,现在可能要容易得多。我有点同意,如果您必须获得相同的数据量(通过某种格式),使用较少的带宽是一个好处-但在开始任何事情之前,您需要检查带宽/处理是一个实际的瓶颈(如果带宽:您曾经尝试过gzip/deflate第一次)。

我是protobuf的粉丝--我很乐意看到更强大的浏览器端工具,但是json无处不在,你需要一个令人信服的理由来挑战现状。还有,想想"jsonp“吧。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7074147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档