Friday, June 4, 2021

Re: GWT Front-end on different server than Back-end


I tried to deploy a simple GWT webapp to Azure Static Web App service. Here is my simple example:

My problem is that it won't run Maven to build the JS files. Here is my github actions for Azure Static Web App:

I'm not sure how can I build with Maven to transpile to the JS files so that I could serve from this directory:


Thanks, Lofi schrieb am Donnerstag, 27. Mai 2021 um 15:18:24 UTC+2:
Hi Bruno,

Yes, it is actually the standard way to deploy GWT webapp (at the end you transpile Java to JavaScript: it is JavaScript + HTML + resources) in just a simple web server (NginX or Apache).

The web app communicates with the server side by using GWT-RPC (like what Peter said above) or many of us are using REST on the backend (Spring Boot ...).

Of course you can also just deploy the JS + HTML + resources in Spring Boot "static" directory if you don't want to make an extra web server.

If you have any special idea with Azure, just tell me, I could try to make a simple example ;-)

Question: Can we access AzureFunction with REST API? Or how do you access AzureFunction?

Lofi schrieb am Donnerstag, 27. Mai 2021 um 09:59:30 UTC+2:

On Thu, May 27, 2021 at 3:56 PM Bruno Borges <> wrote:
I've been reading the GWT documentation and trying to understand the deployment model of the front-end, especially for PWA apps (but not exlucisvely!) to find a scenario where GWT front-end could be deployed to Azure Static Web App service (to serve the static content), and then the back-end APIs deployed as an Azure Function. 

 I wonder if anyone has played with the general idea of deploying front-end on a different server (Nginx/Apache) only to serve the static content, and the actual API back-end to another.

This is the way we deploy most of our applications and it is not really any different from how you have to do it for any other javascript context and the standard security concerns. The only tricky part really is working with your transport layer. If you are using GWT-RPC (which I recommend against) then you are stuck updating the server and the client at the same time if you ever change the API in a backward incompatible manner and you have to do some ugly configuration of base url of services. Assuming the Azure Function can be accessed as http calls then you should be fine.

If you are using the "builtin" support for separating our resources (i.e. GWT.getHostPageBaseURL(), GWT.getModuleBaseForStaticFiles(), GWT.getModuleBaseURL()) for accessing assets then you may find some things break for local development when GWT.getModuleBaseForStaticFiles() != GWT.getModuleBaseURL() as GWT.getModuleBaseForStaticFiles() does not take into account the debug hooks but this is pretty rare scenario.

Is there a specific problem that you are having?


Peter Donald

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
To view this discussion on the web visit

No comments:

Post a Comment