Springy developers choose DWR
antranig at caret.cam.ac.uk
Mon Apr 2 22:26:49 UTC 2007
Hi there Ray - we meet again, at 50,000 feet :P
DWR is fun, although I have to mention (to blow own trumpet, when did anything else)
that we have our homegrown distillation of the technique in the form of RSF's
"Universal View Bus" which I feel is much less intrusive since it functions
with no config files other than Spring ones (no dwr.xml), and similarly no
extra Java-side artefacts since it just uses the existing application structure.
Spring Web Flow seems like a winner on paper, but every developer I've exposed
it to in practice becomes highly annoyed. I feel their conception of "flows" is
too restrictive and "top-heavy" (OGNL-driven, and with a meaty RequestContext
object at the other side) to be truly idiomatically portable. I made an
experimental integration with RSF in the very early days but has languished
for lack of interest.
Filesystem-previewable templates with behaviour are indeed a reality already :P
Ray Davis wrote:
> DWR = Direct Web Remoting - https://dwr.dev.java.net/
> This looks like magic, and it's being used in production in some
> products (including JIRA and Confluence), but I hadn't heard of it
> until I read this transcription of a talk Bram Smeets gave on "Ajax
> with the Spring Framework":
> Going over ideas similar to Josh's, he recommends JSON-RPC if you
> want an RPC approach, but recommends DWR even more strongly for
> server-client glue.
> And then I bumped into this, from the lead of Spring Web Flow:
> "In summary a development team evaluating Spring's web app
> development stack should consider Spring MVC + Web Flow + DWR
> together, and not simply the Spring MVC base in isolation."
> (I look forward to seeing how much of Spring MVC we could eliminate
> from that combination.)
> The DWR 2 preview examples are getting to a spot in which we could
> create fully interactive browser-only (no server) prototypes
> data bit by bit with dynamic server-based data without touching the
> "prototype's" XHTML or CSS.... Specifications which double as
> production code. It's a nice dream.
More information about the fluid-work