The SPA (single-page application) architecture is great for creating amazing user experiences, if used correctly. But it also brings in the overhead of building a distributed system with two independent applications talking to each other. And this is often amplified by having a separate team of developers for each of the applications.
There's currently a trend away from typical SPA frameworks and towards full-stack solutions where both the frontend and the backend are seen as a single unit that is developed by a single team. Not only does this avoid wasted effort, but it also improves agility when a single developer can introduce a new end-to-end feature in a single commit without waiting for other teams to carry out their parts.
Full-stack development comes in many different forms. There are libraries like HTMX for cases with relatively coarse interaction while the opposite side of the spectrum offers ways of doing an SPA without the two-application overhead. Next.js is a very popular choice if you run JavaScript on the server whereas e.g. Vaadin has you covered on the JVM. This talk describes the SPA challenges and how full-stack thinking may help, while also giving an overview of how to evaluate different alternatives for a full-stack architecture.
Leif Åstrand
Vaadin
Recorded at Jfokus 2025 in Stockholm 5th of february
http://www.jfokus.se