sgt*_*gtz 22 javascript gwt protocol-buffers
有没有办法在JavaScript中执行协议缓冲?
为什么选择.js?
如果您暂时考虑科学要求,可能会弹出一些情况,您可能希望将大量数据发送到客户端.使用CRUD风格时,您使用的内容并不重要.对于科学的东西,它确实很重要(至少我认为它确实如此).
权衡:
protobuffs可以很好地平衡紧凑性,序列化和反序列化速度.
基于文本的协议(xml/json)具有更大的消息大小...但是使用javascript我不知道哪个更有效.
参考:
code.google.com/p/protobuf-plugin-closure
http://www.vitaliykulikov.com/2011/02/gwt-friendly-protocol-buffers.html
http://benhakala.blogspot.com/2010/05/converting-google-protocol-buffers-to.html(暗示谷歌地图可能使用protobufs)
社区提供的其他参考资料(更多背景见下文):
Tho*_*yer 13
谷歌通过他们的Closure库大量使用JS(GMail等)中的Protocol Buffers,生成带有(不幸的是非开源)修改的JS代码protoc(它可能必须在开源之前被移植到protoc扩展中) ).
Apache Wave(其客户端 webapp使用GWT构建)也使用Protocol Buffers与服务器通信,通过反映由protoc(这是PST,又名protobuf-stringtemplate,子项目)生成的Java类生成Java代码.
以前,Wave正在使用protostuff(我不知道为什么他们改用他们自己的解决方案,我怀疑PST来自最初的Google Wave正在使用的,而protostuff只是转向开源的中间步骤) .
作为一个方面说明,我开始探索在浏览器端使用Protocol Buffers前一阵子: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代理与生成的服务器端Java类兼容protoc(并且您可以使用protocWave的PST 的扩展或类似方法来生成RequestFactory代理).如果你在服务器端一直使用构建器(这不是Protocol Buffers Java API的设计方式),那么它应该是可能的.
从历史上来说,使用二进制文件的javascript工作很痛苦,这可能部分解释了相对缺乏工具 - 但是使用javascript类型的数组现在可能会轻松得多.我有点同意,如果你必须得到相同数量的数据(通过某种格式),使用更少的带宽是一个加分 - 但在开始任何事情之前,你需要检查带宽/处理是一个真正的瓶颈(如果带宽) :你先试过gzip/deflate吗?
我是protobuf的粉丝 - 我很高兴看到更强大的浏览器端工具,但json无处不在,你需要一个令人信服的理由挑战现状.也; 想想"jsonp".
| 归档时间: |
|
| 查看次数: |
9695 次 |
| 最近记录: |