Hey all,

We've been working on a number of RPC enhancements locally and thought  
that it might be helpful to open-source some of them (prompted by a  
recent suggestion from Ray Cromwell).  I've created a new Google Code  
project that encapsulates them here:

http://code.google.com/p/gwt-rpc-plus/

It's an umbrella project for a number of RPC enhancements that we're  
using.  It includes a set of building blocks and some higher-level  
code that builds on them to enhance the current GWT RPC functionality:

1.  A set of 'bare-metal', strongly-typed JS collections optimized for  
both RPC and client-side use.  These collections are designed to mimic  
(but not fully support) the interfaces of the standard Java List, Map  
and Set.  They are code-generated and based on JavaScriptObject (see  
here: http://code.google.com/p/gwt-rpc-plus/source/browse/#svn/trunk/ 
gwt-rpc-plus/gwt/com/dotspots/rpcplus/client/jscollections).  They are  
essential to the Thrift RPC system (mentioned below), but are useful  
as their own standalone collections.
2.  Alternative JSON and text transports, including a cross-domain  
transport using window.name and standard XMLHttpRequest communication.
3.  A set of fast utility classes to parse and emit JSON using browser- 
native code where possible (ie: JSON.parse/stringify, eval/uneval).
4.  A way to plug alternative transports into GWT RPC (based on a  
technique similar to this: 
http://timepedia.blogspot.com/2009/04/gwt-rpc-over-arbitrary-transports-uber.html)
 
.  It currently includes a way to easily replace the RPC transport  
with any text transport (including the window.name transport mentioned  
above).
5.  A Thrift-based, versioned RPC framework that can replace GWT RPC  
entirely (built on top of the above-mentioned pieces).

The code in the library was extracted from a bunch of code scattered  
throughout our project.  I'm still working on refactoring and cleaning  
up parts of it, so it's likely to change over the next few weeks.   
None of the architecture is set in stone, so anyone interested in  
helping contribute/architect is welcome to join in.

Thanks!
Matt.


--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to