sirve - Buffers de protocolo para JavaScript
javascript pdf (3)
¿Hay alguna manera de hacer los búferes de protocolo en JavaScript?
¿Por qué para .js?
Si piensa en los requisitos de ciencia por un momento, surgen situaciones en las que es posible que desee enviar un gran bloque de datos al cliente. Con estilo CRUD, realmente no importa tanto lo que uses. Con ciencia, sí importa (al menos creo que sí).
compensaciones:
protobuffs equilibra la compacidad, la serialización y la deserialización de las velocidades.
Los protocolos basados en texto (xml / json) tienen un tamaño de mensaje más grande ... pero con javascript me pregunto cuál es más efectivo.
referencia:
code.google.com/p/protobuf-plugin-closure
Buffers del Protocolo de Google o algo similar para .net / javascript
http://www.vitaliykulikov.com/2011/02/gwt-friendly-protocol-buffers.html
http://benhakala.blogspot.com/2010/05/converting-google-protocol-buffers-to.html (alude a google maps posiblemente usando protobufs)
Referencias adicionales proporcionadas por la comunidad (ver más abajo para más contexto):
Google hace un uso intensivo de Buffers de Protocolo en JS (GMail, etc.) a través de su Biblioteca de Cierre, generando código JS con un protoc
modificado (desafortunadamente no de origen abierto) (probablemente tendría que ser portado a una extensión de protoc
antes de ser abierto de origen).
Apache Wave (cuya aplicación web cliente está construida con GWT) también utiliza Buffers de Protocolo para sus comunicaciones con el servidor, generando código Java al reflejar en las clases Java producidas por el protoc
(este es el PST, también conocido como protobuf-stringtemplate, subproyecto).
Anteriormente, Wave utilizaba protostuff (y no sé por qué cambiaron a su propia solución, sospecho que PST se deriva de lo que el Google Wave original estaba usando, y el protostuff fue solo un paso intermedio durante el cambio a open-source) .
Como nota al margen, comencé a explorar el uso de Buffers de Protocolo en el lado del navegador hace un tiempo: http://blog.ltgt.net/exploring-using-protobuf-in-the-browser/ & http://blog.ltgt.net/using-protobuf-client-side-with-gwt con un código que casi funciona en http://code.google.com/p/protobuf-gwt/ que es posible que desee resucitar.
Finalmente, hay trabajo en curso para hacer que los proxis de GWT RequestFactory sean compatibles con las clases de Java del lado del servidor generadas por el protoc
(y podría usar una extensión de protoc
o un enfoque similar al PST de Wave para generar sus proxies RequestFactory). Ya debería ser posible, siempre que use constructores todo el camino en el lado del servidor (que no es exactamente como se diseñó la API Java de los Protocolos de Protocolo).
He estado buscando protobuf para javascript. Hay un proyecto aquí: https://github.com/dcodeIO/ProtoBuf.js
Históricamente, javascript hizo que trabajar con binary sea difícil, lo que probablemente explica en parte una relativa falta de herramientas, pero con los arreglos escritos con javascript podría ser mucho más fácil ahora. Estoy un poco de acuerdo en que si tienes que obtener el mismo volumen de datos (a través de algún formato), usar menos ancho de banda es una ventaja, pero antes de embarcarte en cualquier cosa necesitarás verificar que el ancho de banda / procesamiento sea un cuello de botella real (y si el ancho de banda : has probado gzip / deflate primero).
Soy fanático de protobuf, y felizmente vería herramientas más fuertes para el navegador, pero json es tan omnipresente que necesitaría una razón convincente para desafiar el status-quo. También; pensar "jsonp".