Google actively uses protocol buffers in JS (GMail, etc.) through its Closure Library, generating JS code with a modified protoc (unfortunately not open source) (it will probably have to be ported to protoc before open source code).
Apache Wave (a client Webapp server with GWT) also uses protocol buffers to communicate with the server, generating Java code, reflecting the Java classes created using protoc (this is PST, aka protobuf-stringtemplate, subproject).
Wave used protostuff earlier (and I donβt know why they switched to their own solution, I suspect that PST comes from what the original Google Wave used, and protostuff was only an intermediate step during the transition to open-source).
As a side note, I began to study the use of protocol buffers on the browser side some time ago: http://blog.ltgt.net/exploring-using-protobuf-in-the-browser/ and http://blog.ltgt.net/ using-protobuf-client-side-with-gwt with some almost working code in http://code.google.com/p/protobuf-gwt/ that you might want to resurrect.
Finally, work is underway to ensure that GWT RequestFactory proxies are compatible with server-side Java classes generated using protoc (and you could use the protoc extension or a similar approach to Wave PST to create RequestFactory proxy requests). This should be possible if you use builders entirely on the server side (which is not quite the way the Java protocol API was developed).
Thomas Broyer Aug 18 '11 at 2:55 a.m. 2011-08-18 14:55
source share