I realize this topic has been brought up several times, and the
general suggestion from GWT is to split the application into separate
modules and use iframes.
While this is a workable solution, I feel that GWT can do a little
better to support large apps by allowing users to split their
application into separate modules, however instead of having these
separate modules be treated as separate apps loading in iframe, be
aware that these modules belong to the same application and have he
ability to lazy load these separate modules as JS only, without the
boilerplate GWT stuff that does into each compiled application. There
can be some inherits type contract to indicate that a module is only
part of the main app.
Each of these JS only modules load in the the context of the main app,
without requiring a separate iframes or and repeated shared code as
would be the case if these were loaded as separate apps in iframes.
I feel this approach has several advantages over the iframe approach
- as mentioned above, there is not repeated boiler plated code
- seamlessly works as a single app, where portions of the apps (i.e
the separate modules) are transparently loaded in chunks. Once loaded,
it is equivalent to the the whole all being loaded as a single JS GWT
can still behind the scenes to a MD5 check to see if JS module needs
to be refetched. With the iframe approach, there will be a "blank"
screen during the period a request to a new module is made
- related to the point above, application functions as a single app,
and not an integration solution. things like SSO work better.