javascript - JavaScript 的 Protocol Buffer ?

标签 javascript gwt protocol-buffers

有没有办法在 JavaScript 中实现 Protocol Buffer ?

为什么选择 .js?

如果您考虑一下科学需求,就会出现您可能想要向客户端发送大量数据的情况。对于 CRUD 风格,你使用什么并不重要。对于科学的东西来说,它确实很重要(至少我认为如此)。

权衡:

  • protobuffs 很好地平衡了紧凑性、序列化和反序列化速度。

  • 基于文本的协议(protocol)(xml/json)具有更大的消息大小...但对于 javascript,我想知道哪个更有效。

引用:

社区提供的其他引用(有关更多背景信息,请参阅下文):

最佳答案

Google 通过其 Closure 库在 JS(GMail 等)中大量使用 Protocol Buffer,生成带有(不幸的是非开源的)修改过的 JS 代码 protoc (在开源之前,它可能必须移植protoc 扩展)。

Apache Wave(其客户端 Web 应用程序是使用 GWT 构建的)也使用 Protocol Buffers 与服务器通信,通过反射(reflect) protoc 生成的 Java 类来生成 Java 代码。 (这是 PST,又名 protobuf-stringtemplate,子项目)。
此前,Wave 使用 protostuff (我不知道他们为什么改用自己的解决方案,我怀疑 PST 源自最初的 Google Wave 使用的内容,而 protostuff 只是转向开源过程中的中间步骤)。

顺便说一句,我不久前开始探索在浏览器端使用 Protocol Buffer :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 扩展或与 Wave 的 PST 类似的方法来生成您的 RequestFactory 代理)。如果您在服务器端一直使用构建器(这并不完全是 Protocol Buffers Java API 的设计方式),那么这应该是可能的。

关于javascript - JavaScript 的 Protocol Buffer ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7074147/

相关文章:

javascript - 在 Google App Engine 中使用 Google Closure 的 "compiler.jar"

protocol-buffers - Google protobuf 3 : deprecated a field, 但无法删除依赖项?

c++ - Protocol Buffer : how to serialize and deserialize multiple messages into a file (c++)?

java - 在 Java 和 C++ 应用程序中使用 protobuf 进行解析时出错

javascript - 在 Shiny 的 R 中使用观察函数

Javascript 语法 []() 和 ()()

JavaScript 下拉菜单

java - 如何将 SmartGWT DataSource 与异构数据一起使用

java - 在 GWT 中创建模态对话框

javascript - 为什么 jQuery 不删除我的类?