On 4/20/20 8:00 PM, Thomas wrote:
Thanks Jens. If I paraphrase in my words, you would keep the "shell" (menu items etc) and have iFrames for new functionality?--
Sounds like a reasonable approach, although I'd prefer to have the "shell" in the new technology and have iFrames for the old GWT modules.
Have you come across any resources/examples that you can share?
On Friday, April 17, 2020 at 9:11:03 PM UTC+8, Jens wrote:Kind of in the same situation and I figured that using an iframe approach is probably the best idea. So you would need to refactor your app in a way that you can launch an external application in an iframe for a given menu item, basically the content area in your app should be an iframe. That way you could develop future content using a different framework (or even multiple different frameworks!) and also refactor current/old GWT content to fit into the iframe solution which shortens the compile time for these new minimal GWT content applications. Finally you get the freedom to only update parts of your application instead the whole beast.
However when doing so and your app uses history tokens / pushstate you need to figure out a good way to update the browser main location bar from within the iframe.
Personally I would consider using Angular, Vue or Svelte (with Sapper being the Svelte app framework). While Angular and Vue both use virtual DOM, Svelte does only look like it would use a virtual DOM but in reality it compiles down to direct DOM operations which makes it more performant than a virtual DOM based solution. I would only use React if there are thoughts about using React Native as well, but then Flutter from Google might also be interesting.
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firstname.lastname@example.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/4a721edc-2b87-47a5-92d4-7541eca85726%40googlegroups.com.