Monday, August 1, 2011

MVC + Command Pattern + Code Splitting?

Has anyone been able to get "complete" code splitting working with gwt-
dispatch or similar command pattern implementation?

We've got a rather large MVC-based application, and our code splitting
is done at the Controller level. The code splitting works great--
neither the Controller nor the View will be loaded unless the
associated module has been explicitly requested. We use gwt-dispatch
(with SecureDispatchAsync) to provide our communication with the
server. Everything works great with gwt-dispatch, except that *all*
of our Request (Action) and Result objects are compiled into the
initial download, instead of being included in the split point which
contains the associated Controller and View.

We're using SecureDispatchAsync in the startup module to load some
basic startup information, but all of the other Request/Result pairs
are isolated to their corresponding Controller. The GWT SOYC report
shows that all of the Request and Result objects are being included in
the initial download. Given the large-ish number of Action/Result
objects we have, this is adding significant bulk to our initial
application download size.

I've read around and asked on the gwt-dispatch group and it seems like
no one has had to use code splitting and the command pattern; so far,
the only answers I've been able to find were (a) had to get rid of gwt-
dispatch/command pattern, (b) just accept the increased size, or (c)
it could be related to this issue: http://code.google.com/p/google-web-toolkit/issues/detail?id=2374.

Just curious as to what others are doing, or if someone has found a
way around this problem

Thanks

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment