Reputation: 695
I have to make a web application using GWT. The project has a core module that'll expose a set of apis to be used by other apps; each of these app are unrelated. Each shall be loaded in a separate iframe.
My idea was to compile core into core.js and each app shall have its own app1.js app2.js and so on...
App1
script type="text/javascript" src="core.js" ></script>
script type="text/javascript" src="app1.js" ></script>
with this design, due to browser caching, each app load only the app.js which should be smaller ~20kb in size.
Making a core module is straightforward but the apps are problematic. The reason being after compilation, each app contains the entire GWT library - this substantially increases the download size of the complete webapp.
Can anyone suggest a way to get around this problem ? I've checked similar questions on SO, but failed to find a simple working answer fr the problem.
Upvotes: 2
Views: 230
Reputation: 31528
It can't be done.
GWT is meant to be a monolithic compile. It will take all your java code, assume that no other code exists other than what was provided to it, and then generate optimized javascript code. While doing so, it will only compile portions of standard GWT library that are actually being used by your program.
Because of the way GWT works, its always going to be inefficient to include multiple GWT modules on the same page.
Instead, here is what I'd recommend -
Upvotes: 4